diff --git a/modeling/DIPLODOCUS/SmartCardProtocol.xml b/modeling/DIPLODOCUS/SmartCardProtocol.xml
index 80dfb354b5d5d838c1f15aea8bb4c147fc563a39..4a8617d442604c05f9e543f46d59751a94c0cfdd 100755
--- a/modeling/DIPLODOCUS/SmartCardProtocol.xml
+++ b/modeling/DIPLODOCUS/SmartCardProtocol.xml
@@ -2,18 +2,124 @@
 
 <TURTLEGMODELING version="1.0beta">
 
+<Modeling type="Avatar Requirement" nameTab="Requirements" >
+<AvatarRDPanel name="AVATAR RD" minX="10" maxX="2500" minY="10" maxY="1500" zoom="1.0" >
+<COMPONENT type="5207" id="16" >
+<cdparam x="493" y="332" />
+<sizeparam width="150" height="30" minWidth="10" minHeight="30" maxWidth="2000" maxHeight="2000" minDesiredWidth="107" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="AvatarElementReference" value="AppC_Channel" />
+<TGConnectingPoint num="0" id="1" />
+<TGConnectingPoint num="1" id="2" />
+<TGConnectingPoint num="2" id="3" />
+<TGConnectingPoint num="3" id="4" />
+<TGConnectingPoint num="4" id="5" />
+<TGConnectingPoint num="5" id="6" />
+<TGConnectingPoint num="6" id="7" />
+<TGConnectingPoint num="7" id="8" />
+<TGConnectingPoint num="8" id="9" />
+<TGConnectingPoint num="9" id="10" />
+<TGConnectingPoint num="10" id="11" />
+<TGConnectingPoint num="11" id="12" />
+<TGConnectingPoint num="12" id="13" />
+<TGConnectingPoint num="13" id="14" />
+<TGConnectingPoint num="14" id="15" />
+</COMPONENT>
+
+<COMPONENT type="5200" id="60" >
+<cdparam x="192" y="93" />
+<sizeparam width="334" height="128" minWidth="1" minHeight="30" maxWidth="2000" maxHeight="2000" minDesiredWidth="178" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="Requirement" value="ConfidentialityWithInterface" />
+<TGConnectingPoint num="0" id="17" />
+<TGConnectingPoint num="1" id="18" />
+<TGConnectingPoint num="2" id="19" />
+<TGConnectingPoint num="3" id="20" />
+<TGConnectingPoint num="4" id="21" />
+<TGConnectingPoint num="5" id="22" />
+<TGConnectingPoint num="6" id="23" />
+<TGConnectingPoint num="7" id="24" />
+<TGConnectingPoint num="8" id="25" />
+<TGConnectingPoint num="9" id="26" />
+<TGConnectingPoint num="10" id="27" />
+<TGConnectingPoint num="11" id="28" />
+<TGConnectingPoint num="12" id="29" />
+<TGConnectingPoint num="13" id="30" />
+<TGConnectingPoint num="14" id="31" />
+<TGConnectingPoint num="15" id="32" />
+<TGConnectingPoint num="16" id="33" />
+<TGConnectingPoint num="17" id="34" />
+<TGConnectingPoint num="18" id="35" />
+<TGConnectingPoint num="19" id="36" />
+<TGConnectingPoint num="20" id="37" />
+<TGConnectingPoint num="21" id="38" />
+<TGConnectingPoint num="22" id="39" />
+<TGConnectingPoint num="23" id="40" />
+<TGConnectingPoint num="24" id="41" />
+<TGConnectingPoint num="25" id="42" />
+<TGConnectingPoint num="26" id="43" />
+<TGConnectingPoint num="27" id="44" />
+<TGConnectingPoint num="28" id="45" />
+<TGConnectingPoint num="29" id="46" />
+<TGConnectingPoint num="30" id="47" />
+<TGConnectingPoint num="31" id="48" />
+<TGConnectingPoint num="32" id="49" />
+<TGConnectingPoint num="33" id="50" />
+<TGConnectingPoint num="34" id="51" />
+<TGConnectingPoint num="35" id="52" />
+<TGConnectingPoint num="36" id="53" />
+<TGConnectingPoint num="37" id="54" />
+<TGConnectingPoint num="38" id="55" />
+<TGConnectingPoint num="39" id="56" />
+<TGConnectingPoint num="40" id="57" />
+<TGConnectingPoint num="41" id="58" />
+<TGConnectingPoint num="42" id="59" />
+<extraparam>
+<textline data="All data exchanges between the smartCard " />
+<textline data="and its Interface shall be confidential" />
+<kind data="Confidentiality" />
+<criticality data="High" />
+<reqType data="2" />
+<id data="0" />
+<satisfied data="false" />
+<verified data="false" />
+<attackTreeNode data="" />
+<violatedAction data="" />
+<referenceElements data="AppC_Secure" />
+</extraparam>
+</COMPONENT>
+
+<CONNECTOR type="5208" id="62" >
+<cdparam x="530" y="332" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="&lt;&lt;satisfy&gt;&gt;" />
+<TGConnectingPoint num="0" id="61" />
+<P1  x="530" y="332" id="7" />
+<P2  x="442" y="221" id="56" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+
+</AvatarRDPanel>
+
+</Modeling>
+
+
+
+
 <Modeling type="TML Component Design" nameTab="AppC" >
 <TMLComponentTaskDiagramPanel name="TML Component Task Diagram" minX="0" maxX="2179" minY="0" maxY="733" channels="true" events="true" requests="true" zoom="0.8000000000000015" >
-<CONNECTOR type="126" id="1786" >
+<CONNECTOR type="126" id="64" >
 <cdparam x="820" y="398" />
 <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="820" y="398" id="1785" />
-<P2  x="609" y="459" id="1775" />
+<P1  x="820" y="378" id="272" />
+<P2  x="609" y="439" id="160" />
 <Point x="710" y="462" />
 <AutomaticDrawing  data="true" />
-</CONNECTOR><SUBCOMPONENT type="-1" id="1787" >
-<father id="1786" num="0" />
+</CONNECTOR><SUBCOMPONENT type="-1" id="63" >
+<father id="64" num="0" />
 <cdparam x="710" y="462" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
@@ -21,217 +127,217 @@
 <infoparam name="point " value="null" />
 </SUBCOMPONENT>
 
-<CONNECTOR type="126" id="1753" >
+<CONNECTOR type="126" id="65" >
 <cdparam x="568" y="323" />
 <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="568" y="323" id="1742" />
-<P2  x="554" y="278" id="1752" />
+<P1  x="568" y="323" id="158" />
+<P2  x="554" y="258" id="197" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="126" id="1" >
+<CONNECTOR type="126" id="66" >
 <cdparam x="522" y="390" />
 <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="418" y="311" id="200" />
-<P2  x="373" y="268" id="47" />
+<P1  x="428" y="301" id="125" />
+<P2  x="363" y="258" id="104" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="126" id="2" >
+<CONNECTOR type="126" id="67" >
 <cdparam x="409" y="124" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="Connector between ports" />
-<P1  x="321" y="67" id="49" />
-<P2  x="474" y="68" id="82" />
+<P1  x="321" y="67" id="102" />
+<P2  x="474" y="68" id="173" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="126" id="3" >
+<CONNECTOR type="126" id="68" >
 <cdparam x="656" y="426" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="Connector between ports" />
-<P1  x="652" y="442" id="179" />
-<P2  x="776" y="396" id="107" />
+<P1  x="644" y="434" id="154" />
+<P2  x="776" y="380" id="258" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="126" id="4" >
+<CONNECTOR type="126" id="69" >
 <cdparam x="656" y="400" />
 <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="652" y="416" id="181" />
-<P2  x="737" y="381" id="105" />
+<P1  x="644" y="408" id="152" />
+<P2  x="745" y="373" id="260" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="126" id="5" >
+<CONNECTOR type="126" id="70" >
 <cdparam x="602" y="327" />
 <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="601" y="325" id="189" />
-<P2  x="664" y="300" id="150" />
+<P1  x="601" y="325" id="144" />
+<P2  x="674" y="290" id="224" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="126" id="6" >
+<CONNECTOR type="126" id="71" >
 <cdparam x="689" y="292" />
 <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="684" y="300" id="154" />
-<P2  x="737" y="290" id="115" />
+<P1  x="674" y="310" id="228" />
+<P2  x="745" y="282" id="250" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="126" id="7" >
+<CONNECTOR type="126" id="72" >
 <cdparam x="656" y="377" />
 <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="652" y="393" id="185" />
-<P2  x="737" y="363" id="113" />
+<P1  x="644" y="385" id="148" />
+<P2  x="745" y="355" id="252" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="126" id="8" >
+<CONNECTOR type="126" id="73" >
 <cdparam x="656" y="351" />
 <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="652" y="367" id="183" />
-<P2  x="737" y="341" id="111" />
+<P1  x="644" y="359" id="150" />
+<P2  x="745" y="333" id="254" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="126" id="9" >
+<CONNECTOR type="126" id="74" >
 <cdparam x="741" y="296" />
 <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="737" y="318" id="109" />
-<P2  x="652" y="344" id="187" />
+<P1  x="745" y="310" id="256" />
+<P2  x="644" y="336" id="146" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="126" id="10" >
+<CONNECTOR type="126" id="75" >
 <cdparam x="735" y="260" />
 <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="735" y="264" id="117" />
-<P2  x="598" y="226" id="70" />
+<P1  x="745" y="254" id="248" />
+<P2  x="588" y="216" id="185" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="126" id="11" >
+<CONNECTOR type="126" id="76" >
 <cdparam x="641" y="230" />
 <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="598" y="198" id="68" />
-<P2  x="735" y="233" id="119" />
+<P1  x="588" y="188" id="187" />
+<P2  x="745" y="223" id="246" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="126" id="12" >
+<CONNECTOR type="126" id="77" >
 <cdparam x="641" y="195" />
 <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="598" y="162" id="66" />
-<P2  x="735" y="198" id="121" />
+<P1  x="588" y="152" id="189" />
+<P2  x="745" y="188" id="244" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="126" id="13" >
+<CONNECTOR type="126" id="78" >
 <cdparam x="740" y="353" />
 <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="664" y="300" id="149" />
-<P2  x="598" y="251" id="64" />
+<P1  x="674" y="290" id="223" />
+<P2  x="588" y="241" id="191" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="126" id="14" >
+<CONNECTOR type="126" id="79" >
 <cdparam x="460" y="270" />
 <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="418" y="242" id="74" />
-<P2  x="373" y="242" id="41" />
+<P1  x="428" y="232" id="181" />
+<P2  x="363" y="232" id="110" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="126" id="15" >
+<CONNECTOR type="126" id="80" >
 <cdparam x="387" y="129" />
 <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="371" y="101" id="37" />
-<P2  x="420" y="101" id="62" />
+<P1  x="363" y="93" id="114" />
+<P2  x="428" y="93" id="193" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="126" id="16" >
+<CONNECTOR type="126" id="81" >
 <cdparam x="389" y="200" />
 <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="373" y="172" id="43" />
-<P2  x="418" y="172" id="76" />
+<P1  x="363" y="162" id="108" />
+<P2  x="428" y="162" id="179" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="126" id="17" >
+<CONNECTOR type="126" id="82" >
 <cdparam x="460" y="236" />
 <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="418" y="208" id="78" />
-<P2  x="373" y="208" id="45" />
+<P1  x="428" y="198" id="177" />
+<P2  x="363" y="198" id="106" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="126" id="18" >
+<CONNECTOR type="126" id="83" >
 <cdparam x="460" y="296" />
 <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="418" y="268" id="80" />
-<P2  x="438" y="311" id="205" />
+<P1  x="428" y="258" id="175" />
+<P2  x="428" y="321" id="130" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="126" id="19" >
+<CONNECTOR type="126" id="84" >
 <cdparam x="389" y="163" />
 <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="373" y="135" id="39" />
-<P2  x="418" y="135" id="72" />
+<P1  x="363" y="125" id="112" />
+<P2  x="428" y="125" id="183" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="126" id="20" >
+<CONNECTOR type="126" id="85" >
 <cdparam x="967" y="190" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from TGComponent to TGComponent" value="Connector between ports" />
-<P1  x="735" y="158" id="123" />
-<P2  x="598" y="99" id="84" />
+<P1  x="745" y="148" id="242" />
+<P2  x="588" y="89" id="171" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="126" id="21" >
+<CONNECTOR type="126" id="86" >
 <cdparam x="1028" y="535" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from TGComponent to TGComponent" value="Connector between ports" />
-<P1  x="504" y="276" id="60" />
-<P2  x="536" y="325" id="177" />
+<P1  x="504" y="260" id="195" />
+<P2  x="536" y="325" id="156" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="126" id="22" >
+<CONNECTOR type="126" id="87" >
 <cdparam x="1308" y="303" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from TGComponent to TGComponent" value="Connector between ports" />
-<P1  x="978" y="303" id="138" />
-<P2  x="942" y="304" id="103" />
+<P1  x="986" y="295" id="208" />
+<P2  x="934" y="296" id="262" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="126" id="23" >
+<CONNECTOR type="126" id="88" >
 <cdparam x="1172" y="437" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from TGComponent to TGComponent" value="Connector between ports" />
-<P1  x="942" y="332" id="101" />
-<P2  x="978" y="331" id="136" />
+<P1  x="934" y="324" id="264" />
+<P2  x="986" y="323" id="210" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="126" id="26" >
+<CONNECTOR type="126" id="91" >
 <cdparam x="1041" y="162" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from TGComponent to TGComponent" value="Connector between ports" />
-<P1  x="942" y="167" id="99" />
-<P2  x="942" y="221" id="97" />
+<P1  x="934" y="159" id="266" />
+<P2  x="934" y="213" id="268" />
 <Point x="982" y="166" />
 <Point x="982" y="198" />
 <AutomaticDrawing  data="true" />
-</CONNECTOR><SUBCOMPONENT type="-1" id="24" >
-<father id="26" num="0" />
+</CONNECTOR><SUBCOMPONENT type="-1" id="89" >
+<father id="91" num="0" />
 <cdparam x="982" y="166" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
 <infoparam name="point " value="null" />
 </SUBCOMPONENT>
-<SUBCOMPONENT type="-1" id="25" >
-<father id="26" num="1" />
+<SUBCOMPONENT type="-1" id="90" >
+<father id="91" num="1" />
 <cdparam x="982" y="198" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
@@ -239,48 +345,48 @@
 <infoparam name="point " value="null" />
 </SUBCOMPONENT>
 
-<CONNECTOR type="126" id="27" >
+<CONNECTOR type="126" id="92" >
 <cdparam x="877" y="343" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from TGComponent to TGComponent" value="Connector between ports" />
-<P1  x="942" y="364" id="95" />
-<P2  x="978" y="353" id="134" />
+<P1  x="934" y="356" id="270" />
+<P2  x="986" y="345" id="212" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<COMPONENT type="1205" id="36" >
+<COMPONENT type="1205" id="101" >
 <cdparam x="924" y="389" />
-<sizeparam width="164" height="84" minWidth="0" minHeight="0" maxWidth="1600" maxHeight="1600" minDesiredWidth="0" minDesiredHeight="0" />
+<sizeparam width="164" height="84" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="2725" minY="0" maxY="917" />
+<cdrectangleparam minX="0" maxX="1744" minY="0" maxY="587" />
 <infoparam name="Record component" value="TCP_CTRL" />
-<TGConnectingPoint num="0" id="28" />
-<TGConnectingPoint num="1" id="29" />
-<TGConnectingPoint num="2" id="30" />
-<TGConnectingPoint num="3" id="31" />
-<TGConnectingPoint num="4" id="32" />
-<TGConnectingPoint num="5" id="33" />
-<TGConnectingPoint num="6" id="34" />
-<TGConnectingPoint num="7" id="35" />
+<TGConnectingPoint num="0" id="93" />
+<TGConnectingPoint num="1" id="94" />
+<TGConnectingPoint num="2" id="95" />
+<TGConnectingPoint num="3" id="96" />
+<TGConnectingPoint num="4" id="97" />
+<TGConnectingPoint num="5" id="98" />
+<TGConnectingPoint num="6" id="99" />
+<TGConnectingPoint num="7" id="100" />
 <extraparam>
 <Attribute access="2" id="a" value="" type="0" typeOther="" />
 <Attribute access="2" id="state" value="" type="0" typeOther="" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1202" id="59" >
+<COMPONENT type="1202" id="124" >
 <cdparam x="131" y="77" />
-<sizeparam width="232" height="221" minWidth="0" minHeight="0" maxWidth="1600" maxHeight="1600" minDesiredWidth="0" minDesiredHeight="0" />
+<sizeparam width="232" height="221" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="2725" minY="0" maxY="917" />
+<cdrectangleparam minX="0" maxX="1744" minY="0" maxY="587" />
 <infoparam name="TGComponent" value="InterfaceDevice" />
-<TGConnectingPoint num="0" id="51" />
-<TGConnectingPoint num="1" id="52" />
-<TGConnectingPoint num="2" id="53" />
-<TGConnectingPoint num="3" id="54" />
-<TGConnectingPoint num="4" id="55" />
-<TGConnectingPoint num="5" id="56" />
-<TGConnectingPoint num="6" id="57" />
-<TGConnectingPoint num="7" id="58" />
+<TGConnectingPoint num="0" id="116" />
+<TGConnectingPoint num="1" id="117" />
+<TGConnectingPoint num="2" id="118" />
+<TGConnectingPoint num="3" id="119" />
+<TGConnectingPoint num="4" id="120" />
+<TGConnectingPoint num="5" id="121" />
+<TGConnectingPoint num="6" id="122" />
+<TGConnectingPoint num="7" id="123" />
 <extraparam>
 <Data isAttacker="No" />
 <Attribute access="2" id="resetType" value="0" type="0" typeOther="" />
@@ -290,16 +396,16 @@
 <Attribute access="2" id="b" value="" type="4" typeOther="" />
 </extraparam>
 </COMPONENT>
-<SUBCOMPONENT type="1203" id="38" >
-<father id="59" num="0" />
-<cdparam x="355" y="93" />
-<sizeparam width="16" height="16" minWidth="0" minHeight="0" maxWidth="1600" maxHeight="1600" minDesiredWidth="0" minDesiredHeight="0" />
+<SUBCOMPONENT type="1203" id="103" >
+<father id="124" num="0" />
+<cdparam x="311" y="67" />
+<sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-8" maxX="224" minY="-8" maxY="213" />
-<infoparam name="TGComponent" value="Request activation" />
-<TGConnectingPoint num="0" id="37" />
+<cdrectangleparam minX="-10" maxX="222" minY="-10" maxY="211" />
+<infoparam name="TGComponent" value="Event reset, pTS" />
+<TGConnectingPoint num="0" id="102" />
 <extraparam>
-<Prop commName="activation" commType="2" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="VOID" associatedEvent="VOID" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<Prop commName="reset, pTS" commType="1" origin="true" finite="true" blocking="false" maxSamples="1" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="VOID" associatedEvent="VOID" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -307,33 +413,33 @@
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="40" >
-<father id="59" num="1" />
-<cdparam x="353" y="125" />
-<sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="1600" maxHeight="1600" minDesiredWidth="0" minDesiredHeight="0" />
+<SUBCOMPONENT type="1203" id="105" >
+<father id="124" num="1" />
+<cdparam x="353" y="258" />
+<sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="-10" maxX="222" minY="-10" maxY="211" />
-<infoparam name="TGComponent" value="Event data_Ready" />
-<TGConnectingPoint num="0" id="39" />
+<infoparam name="TGComponent" value="Event answerToReset, pTSConfirm" />
+<TGConnectingPoint num="0" id="104" />
 <extraparam>
-<Prop commName="data_Ready" commType="1" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="uint_16" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
-<Type type="1" typeOther="" />
-<Type type="2" typeOther="" />
+<Prop commName="answerToReset, pTSConfirm" commType="1" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="42" >
-<father id="59" num="2" />
-<cdparam x="353" y="232" />
-<sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="1600" maxHeight="1600" minDesiredWidth="0" minDesiredHeight="0" />
+<SUBCOMPONENT type="1203" id="107" >
+<father id="124" num="2" />
+<cdparam x="353" y="198" />
+<sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="-10" maxX="222" minY="-10" maxY="211" />
-<infoparam name="TGComponent" value="Event data_Ready_SC" />
-<TGConnectingPoint num="0" id="41" />
+<infoparam name="TGComponent" value="Channel fromSCtoD" />
+<TGConnectingPoint num="0" id="106" />
 <extraparam>
-<Prop commName="data_Ready_SC" commType="1" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<Prop commName="fromSCtoD" commType="0" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -341,16 +447,16 @@
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="44" >
-<father id="59" num="3" />
+<SUBCOMPONENT type="1203" id="109" >
+<father id="124" num="3" />
 <cdparam x="353" y="162" />
-<sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="1600" maxHeight="1600" minDesiredWidth="0" minDesiredHeight="0" />
+<sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="-10" maxX="222" minY="-10" maxY="211" />
 <infoparam name="TGComponent" value="Channel fromDtoSC" />
-<TGConnectingPoint num="0" id="43" />
+<TGConnectingPoint num="0" id="108" />
 <extraparam>
-<Prop commName="fromDtoSC" commType="0" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="1" checkStrongAuthStatus="1" />
+<Prop commName="fromDtoSC" commType="0" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -358,16 +464,16 @@
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="46" >
-<father id="59" num="4" />
-<cdparam x="353" y="198" />
-<sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="1600" maxHeight="1600" minDesiredWidth="0" minDesiredHeight="0" />
+<SUBCOMPONENT type="1203" id="111" >
+<father id="124" num="4" />
+<cdparam x="353" y="232" />
+<sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="-10" maxX="222" minY="-10" maxY="211" />
-<infoparam name="TGComponent" value="Channel fromSCtoD" />
-<TGConnectingPoint num="0" id="45" />
+<infoparam name="TGComponent" value="Event data_Ready_SC" />
+<TGConnectingPoint num="0" id="110" />
 <extraparam>
-<Prop commName="fromSCtoD" commType="0" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<Prop commName="data_Ready_SC" commType="1" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -375,33 +481,33 @@
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="48" >
-<father id="59" num="5" />
-<cdparam x="353" y="258" />
-<sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="1600" maxHeight="1600" minDesiredWidth="0" minDesiredHeight="0" />
+<SUBCOMPONENT type="1203" id="113" >
+<father id="124" num="5" />
+<cdparam x="353" y="125" />
+<sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="-10" maxX="222" minY="-10" maxY="211" />
-<infoparam name="TGComponent" value="Event answerToReset, pTSConfirm" />
-<TGConnectingPoint num="0" id="47" />
+<infoparam name="TGComponent" value="Event data_Ready" />
+<TGConnectingPoint num="0" id="112" />
 <extraparam>
-<Prop commName="answerToReset, pTSConfirm" commType="1" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
-<Type type="0" typeOther="" />
-<Type type="0" typeOther="" />
+<Prop commName="data_Ready" commType="1" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="uint_16" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<Type type="1" typeOther="" />
+<Type type="2" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="50" >
-<father id="59" num="6" />
-<cdparam x="311" y="67" />
-<sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="1600" maxHeight="1600" minDesiredWidth="0" minDesiredHeight="0" />
+<SUBCOMPONENT type="1203" id="115" >
+<father id="124" num="6" />
+<cdparam x="355" y="93" />
+<sizeparam width="16" height="16" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-10" maxX="222" minY="-10" maxY="211" />
-<infoparam name="TGComponent" value="Event reset, pTS" />
-<TGConnectingPoint num="0" id="49" />
+<cdrectangleparam minX="-8" maxX="224" minY="-8" maxY="213" />
+<infoparam name="TGComponent" value="Request activation" />
+<TGConnectingPoint num="0" id="114" />
 <extraparam>
-<Prop commName="reset, pTS" commType="1" origin="true" finite="true" blocking="false" maxSamples="1" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="VOID" associatedEvent="VOID" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<Prop commName="activation" commType="2" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="VOID" associatedEvent="VOID" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -410,50 +516,31 @@
 </extraparam>
 </SUBCOMPONENT>
 
-<COMPONENT type="1200" id="227" >
+<COMPONENT type="1200" id="300" >
 <cdparam x="428" y="75" />
-<sizeparam width="748" height="424" minWidth="0" minHeight="0" maxWidth="1600" maxHeight="1600" minDesiredWidth="0" minDesiredHeight="0" />
+<sizeparam width="748" height="424" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="2725" minY="0" maxY="917" />
+<cdrectangleparam minX="0" maxX="1744" minY="0" maxY="587" />
 <infoparam name="TGComponent" value="SmartCard" />
-<TGConnectingPoint num="0" id="219" />
-<TGConnectingPoint num="1" id="220" />
-<TGConnectingPoint num="2" id="221" />
-<TGConnectingPoint num="3" id="222" />
-<TGConnectingPoint num="4" id="223" />
-<TGConnectingPoint num="5" id="224" />
-<TGConnectingPoint num="6" id="225" />
-<TGConnectingPoint num="7" id="226" />
+<TGConnectingPoint num="0" id="292" />
+<TGConnectingPoint num="1" id="293" />
+<TGConnectingPoint num="2" id="294" />
+<TGConnectingPoint num="3" id="295" />
+<TGConnectingPoint num="4" id="296" />
+<TGConnectingPoint num="5" id="297" />
+<TGConnectingPoint num="6" id="298" />
+<TGConnectingPoint num="7" id="299" />
 <extraparam>
 <info hiddeni="false" />
 </extraparam>
 </COMPONENT>
-<SUBCOMPONENT type="1200" id="176" >
-<father id="227" num="0" />
-<cdparam x="674" y="107" />
-<sizeparam width="456" height="388" minWidth="0" minHeight="0" maxWidth="1600" maxHeight="1600" minDesiredWidth="0" minDesiredHeight="0" />
-<hidden value="false" />
-<cdrectangleparam minX="0" maxX="292" minY="0" maxY="36" />
-<infoparam name="TGComponent" value="TCPIP Entities" />
-<TGConnectingPoint num="0" id="168" />
-<TGConnectingPoint num="1" id="169" />
-<TGConnectingPoint num="2" id="170" />
-<TGConnectingPoint num="3" id="171" />
-<TGConnectingPoint num="4" id="172" />
-<TGConnectingPoint num="5" id="173" />
-<TGConnectingPoint num="6" id="174" />
-<TGConnectingPoint num="7" id="175" />
-<extraparam>
-<info hiddeni="false" />
-</extraparam>
-</SUBCOMPONENT>
-<SUBCOMPONENT type="1202" id="133" >
-<father id="176" num="0" />
-<cdparam x="745" y="134" />
-<sizeparam width="189" height="254" minWidth="0" minHeight="0" maxWidth="1600" maxHeight="1600" minDesiredWidth="0" minDesiredHeight="0" />
+<SUBCOMPONENT type="1201" id="143" >
+<father id="300" num="0" />
+<cdparam x="418" y="301" />
+<sizeparam width="20" height="20" minWidth="8" minHeight="8" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="267" minY="0" maxY="134" />
-<infoparam name="TGComponent" value="TCPIP" />
+<cdrectangleparam minX="-10" maxX="738" minY="-10" maxY="414" />
+<infoparam name="Composite port" value="" />
 <TGConnectingPoint num="0" id="125" />
 <TGConnectingPoint num="1" id="126" />
 <TGConnectingPoint num="2" id="127" />
@@ -462,27 +549,46 @@
 <TGConnectingPoint num="5" id="130" />
 <TGConnectingPoint num="6" id="131" />
 <TGConnectingPoint num="7" id="132" />
+<TGConnectingPoint num="8" id="133" />
+<TGConnectingPoint num="9" id="134" />
+<TGConnectingPoint num="10" id="135" />
+<TGConnectingPoint num="11" id="136" />
+<TGConnectingPoint num="12" id="137" />
+<TGConnectingPoint num="13" id="138" />
+<TGConnectingPoint num="14" id="139" />
+<TGConnectingPoint num="15" id="140" />
+<TGConnectingPoint num="16" id="141" />
+<TGConnectingPoint num="17" id="142" />
+</SUBCOMPONENT>
+<SUBCOMPONENT type="1202" id="170" >
+<father id="300" num="1" />
+<cdparam x="452" y="333" />
+<sizeparam width="192" height="116" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="0" maxX="556" minY="0" maxY="308" />
+<infoparam name="TGComponent" value="Application" />
+<TGConnectingPoint num="0" id="162" />
+<TGConnectingPoint num="1" id="163" />
+<TGConnectingPoint num="2" id="164" />
+<TGConnectingPoint num="3" id="165" />
+<TGConnectingPoint num="4" id="166" />
+<TGConnectingPoint num="5" id="167" />
+<TGConnectingPoint num="6" id="168" />
+<TGConnectingPoint num="7" id="169" />
 <extraparam>
 <Data isAttacker="No" />
-<Attribute access="2" id="wind" value="64" type="0" typeOther="" />
-<Attribute access="2" id="seqNum" value="0" type="0" typeOther="" />
-<Attribute access="2" id="i" value="" type="0" typeOther="" />
-<Attribute access="2" id="j" value="" type="0" typeOther="" />
-<Attribute access="2" id="a" value="0" type="0" typeOther="" />
-<Attribute access="2" id="b" value="0" type="0" typeOther="" />
-<Attribute access="2" id="tcpctrl" value="" type="5" typeOther="TCP_CTRL" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="1776" >
-<father id="133" num="0" />
-<cdparam x="810" y="378" />
-<sizeparam width="20" height="20" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<SUBCOMPONENT type="1203" id="145" >
+<father id="170" num="0" />
+<cdparam x="593" y="325" />
+<sizeparam width="16" height="16" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-10" maxX="179" minY="-10" maxY="244" />
-<infoparam name="Primitive port" value="Channel comm" />
-<TGConnectingPoint num="0" id="1785" />
+<cdrectangleparam minX="-8" maxX="184" minY="-8" maxY="108" />
+<infoparam name="TGComponent" value="Request start_TCP_IP" />
+<TGConnectingPoint num="0" id="144" />
 <extraparam>
-<Prop commName="opened" commType="1" origin="true" finite="false" blocking="false" 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="1" checkStrongAuthStatus="1" />
+<Prop commName="start_TCP_IP" commType="2" origin="true" finite="false" blocking="false" maxSamples="1" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="VOID" associatedEvent="VOID" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -490,16 +596,16 @@
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="96" >
-<father id="133" num="1" />
-<cdparam x="926" y="356" />
-<sizeparam width="16" height="16" minWidth="0" minHeight="0" maxWidth="1600" maxHeight="1600" minDesiredWidth="0" minDesiredHeight="0" />
+<SUBCOMPONENT type="1203" id="147" >
+<father id="170" num="1" />
+<cdparam x="636" y="336" />
+<sizeparam width="16" height="16" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-8" maxX="181" minY="-8" maxY="246" />
-<infoparam name="TGComponent" value="Event stop" />
-<TGConnectingPoint num="0" id="95" />
+<cdrectangleparam minX="-8" maxX="184" minY="-8" maxY="108" />
+<infoparam name="TGComponent" value="Channel fromTtoA" />
+<TGConnectingPoint num="0" id="146" />
 <extraparam>
-<Prop commName="stop" commType="1" origin="true" finite="true" blocking="false" maxSamples="1" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="VOID" associatedEvent="VOID" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<Prop commName="fromTtoA" commType="0" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="VOID" associatedEvent="VOID" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -507,16 +613,16 @@
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="98" >
-<father id="133" num="2" />
-<cdparam x="926" y="213" />
-<sizeparam width="16" height="16" minWidth="0" minHeight="0" maxWidth="1600" maxHeight="1600" minDesiredWidth="0" minDesiredHeight="0" />
+<SUBCOMPONENT type="1203" id="149" >
+<father id="170" num="2" />
+<cdparam x="636" y="385" />
+<sizeparam width="16" height="16" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-8" maxX="181" minY="-8" maxY="246" />
-<infoparam name="TGComponent" value="Channel temp" />
-<TGConnectingPoint num="0" id="97" />
+<cdrectangleparam minX="-8" maxX="184" minY="-8" maxY="108" />
+<infoparam name="TGComponent" value="Event send_TCP" />
+<TGConnectingPoint num="0" id="148" />
 <extraparam>
-<Prop commName="temp" commType="0" origin="false" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="VOID" associatedEvent="VOID" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<Prop commName="send_TCP" commType="1" origin="true" finite="false" blocking="false" maxSamples="1" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="VOID" associatedEvent="VOID" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -524,16 +630,16 @@
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="100" >
-<father id="133" num="3" />
-<cdparam x="926" y="159" />
-<sizeparam width="16" height="16" minWidth="0" minHeight="0" maxWidth="1600" maxHeight="1600" minDesiredWidth="0" minDesiredHeight="0" />
+<SUBCOMPONENT type="1203" id="151" >
+<father id="170" num="3" />
+<cdparam x="636" y="359" />
+<sizeparam width="16" height="16" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-8" maxX="181" minY="-8" maxY="246" />
-<infoparam name="TGComponent" value="Channel temp" />
-<TGConnectingPoint num="0" id="99" />
+<cdrectangleparam minX="-8" maxX="184" minY="-8" maxY="108" />
+<infoparam name="TGComponent" value="Event open, abort, close" />
+<TGConnectingPoint num="0" id="150" />
 <extraparam>
-<Prop commName="temp" commType="0" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="VOID" associatedEvent="VOID" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<Prop commName="open, abort, close" commType="1" origin="true" finite="true" blocking="false" maxSamples="1" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="VOID" associatedEvent="VOID" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -541,16 +647,16 @@
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="102" >
-<father id="133" num="4" />
-<cdparam x="926" y="324" />
-<sizeparam width="16" height="16" minWidth="0" minHeight="0" maxWidth="1600" maxHeight="1600" minDesiredWidth="0" minDesiredHeight="0" />
+<SUBCOMPONENT type="1203" id="153" >
+<father id="170" num="4" />
+<cdparam x="636" y="408" />
+<sizeparam width="16" height="16" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-8" maxX="181" minY="-8" maxY="246" />
-<infoparam name="TGComponent" value="Request req_Timer" />
-<TGConnectingPoint num="0" id="101" />
+<cdrectangleparam minX="-8" maxX="184" minY="-8" maxY="108" />
+<infoparam name="TGComponent" value="Event receive_Application" />
+<TGConnectingPoint num="0" id="152" />
 <extraparam>
-<Prop commName="req_Timer" commType="2" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="VOID" associatedEvent="VOID" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<Prop commName="receive_Application" commType="1" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -558,16 +664,16 @@
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="104" >
-<father id="133" num="5" />
-<cdparam x="926" y="296" />
-<sizeparam width="16" height="16" minWidth="0" minHeight="0" maxWidth="1600" maxHeight="1600" minDesiredWidth="0" minDesiredHeight="0" />
+<SUBCOMPONENT type="1203" id="155" >
+<father id="170" num="5" />
+<cdparam x="636" y="434" />
+<sizeparam width="16" height="16" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-8" maxX="181" minY="-8" maxY="246" />
-<infoparam name="TGComponent" value="Event timeOut" />
-<TGConnectingPoint num="0" id="103" />
+<cdrectangleparam minX="-8" maxX="184" minY="-8" maxY="108" />
+<infoparam name="TGComponent" value="Channel fromAtoT" />
+<TGConnectingPoint num="0" id="154" />
 <extraparam>
-<Prop commName="timeOut" commType="1" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="VOID" associatedEvent="VOID" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<Prop commName="fromAtoT" commType="0" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="VOID" associatedEvent="VOID" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -575,16 +681,16 @@
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="106" >
-<father id="133" num="6" />
-<cdparam x="737" y="373" />
-<sizeparam width="16" height="16" minWidth="0" minHeight="0" maxWidth="1600" maxHeight="1600" minDesiredWidth="0" minDesiredHeight="0" />
+<SUBCOMPONENT type="1203" id="157" >
+<father id="170" num="6" />
+<cdparam x="528" y="325" />
+<sizeparam width="16" height="16" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-8" maxX="181" minY="-8" maxY="246" />
-<infoparam name="TGComponent" value="Event receive_Application" />
-<TGConnectingPoint num="0" id="105" />
+<cdrectangleparam minX="-8" maxX="184" minY="-8" maxY="108" />
+<infoparam name="TGComponent" value="Request start_Application" />
+<TGConnectingPoint num="0" id="156" />
 <extraparam>
-<Prop commName="receive_Application" commType="1" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="1" checkStrongAuthStatus="1" />
+<Prop commName="start_Application" commType="2" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="VOID" associatedEvent="VOID" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -592,16 +698,16 @@
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="108" >
-<father id="133" num="7" />
-<cdparam x="768" y="380" />
-<sizeparam width="16" height="16" minWidth="0" minHeight="0" maxWidth="1600" maxHeight="1600" minDesiredWidth="0" minDesiredHeight="0" />
+<SUBCOMPONENT type="1203" id="159" >
+<father id="170" num="7" />
+<cdparam x="558" y="323" />
+<sizeparam width="20" height="20" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-8" maxX="181" minY="-8" maxY="246" />
-<infoparam name="TGComponent" value="Channel fromAtoT" />
-<TGConnectingPoint num="0" id="107" />
+<cdrectangleparam minX="-10" maxX="182" minY="-10" maxY="106" />
+<infoparam name="Primitive port" value="Event connectionOpened" />
+<TGConnectingPoint num="0" id="158" />
 <extraparam>
-<Prop commName="fromAtoT" commType="0" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="VOID" associatedEvent="VOID" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<Prop commName="connectionOpened" 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" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -609,16 +715,16 @@
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="110" >
-<father id="133" num="8" />
-<cdparam x="737" y="310" />
-<sizeparam width="16" height="16" minWidth="0" minHeight="0" maxWidth="1600" maxHeight="1600" minDesiredWidth="0" minDesiredHeight="0" />
+<SUBCOMPONENT type="1203" id="161" >
+<father id="170" num="8" />
+<cdparam x="599" y="439" />
+<sizeparam width="20" height="20" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-8" maxX="181" minY="-8" maxY="246" />
-<infoparam name="TGComponent" value="Channel fromTtoA" />
-<TGConnectingPoint num="0" id="109" />
+<cdrectangleparam minX="-10" maxX="182" minY="-10" maxY="106" />
+<infoparam name="Primitive port" value="Event opened" />
+<TGConnectingPoint num="0" id="160" />
 <extraparam>
-<Prop commName="fromTtoA" commType="0" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="VOID" associatedEvent="VOID" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<Prop commName="opened" 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" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -626,16 +732,43 @@
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="112" >
-<father id="133" num="9" />
-<cdparam x="737" y="333" />
-<sizeparam width="16" height="16" minWidth="0" minHeight="0" maxWidth="1600" maxHeight="1600" minDesiredWidth="0" minDesiredHeight="0" />
+<SUBCOMPONENT type="1202" id="207" >
+<father id="300" num="2" />
+<cdparam x="428" y="78" />
+<sizeparam width="160" height="190" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-8" maxX="181" minY="-8" maxY="246" />
-<infoparam name="TGComponent" value="Event open, abort, close" />
-<TGConnectingPoint num="0" id="111" />
+<cdrectangleparam minX="0" maxX="588" minY="0" maxY="234" />
+<infoparam name="TGComponent" value="SmartCard" />
+<TGConnectingPoint num="0" id="199" />
+<TGConnectingPoint num="1" id="200" />
+<TGConnectingPoint num="2" id="201" />
+<TGConnectingPoint num="3" id="202" />
+<TGConnectingPoint num="4" id="203" />
+<TGConnectingPoint num="5" id="204" />
+<TGConnectingPoint num="6" id="205" />
+<TGConnectingPoint num="7" id="206" />
 <extraparam>
-<Prop commName="open, abort, close" commType="1" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="VOID" associatedEvent="VOID" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<Data isAttacker="No" />
+<Attribute access="2" id="resetType" value="0" type="0" typeOther="" />
+<Attribute access="2" id="a" value="0" type="0" typeOther="" />
+<Attribute access="2" id="b" value="" type="4" typeOther="" />
+<Attribute access="2" id="i" value="0" type="0" typeOther="" />
+<Attribute access="2" id="j" value="0" type="0" typeOther="" />
+<Attribute access="2" id="x" value="0" type="0" typeOther="" />
+<Attribute access="2" id="tcpctrl" value="" type="5" typeOther="TCP_CTRL" />
+<Attribute access="2" id="t" value="" type="0" typeOther="" />
+</extraparam>
+</SUBCOMPONENT>
+<SUBCOMPONENT type="1203" id="172" >
+<father id="207" num="0" />
+<cdparam x="578" y="89" />
+<sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="-10" maxX="150" minY="-10" maxY="180" />
+<infoparam name="TGComponent" value="Event send" />
+<TGConnectingPoint num="0" id="171" />
+<extraparam>
+<Prop commName="send" commType="1" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="VOID" associatedEvent="VOID" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -643,16 +776,16 @@
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="114" >
-<father id="133" num="10" />
-<cdparam x="737" y="355" />
-<sizeparam width="16" height="16" minWidth="0" minHeight="0" maxWidth="1600" maxHeight="1600" minDesiredWidth="0" minDesiredHeight="0" />
+<SUBCOMPONENT type="1203" id="174" >
+<father id="207" num="1" />
+<cdparam x="464" y="68" />
+<sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-8" maxX="181" minY="-8" maxY="246" />
-<infoparam name="TGComponent" value="Event send_TCP" />
-<TGConnectingPoint num="0" id="113" />
+<cdrectangleparam minX="-10" maxX="150" minY="-10" maxY="180" />
+<infoparam name="TGComponent" value="Event reset, pTS" />
+<TGConnectingPoint num="0" id="173" />
 <extraparam>
-<Prop commName="send_TCP" commType="1" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="VOID" associatedEvent="VOID" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<Prop commName="reset, pTS" commType="1" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="VOID" associatedEvent="VOID" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -660,16 +793,16 @@
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="116" >
-<father id="133" num="11" />
-<cdparam x="737" y="282" />
-<sizeparam width="16" height="16" minWidth="0" minHeight="0" maxWidth="1600" maxHeight="1600" minDesiredWidth="0" minDesiredHeight="0" />
+<SUBCOMPONENT type="1203" id="176" >
+<father id="207" num="2" />
+<cdparam x="418" y="258" />
+<sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-8" maxX="181" minY="-8" maxY="246" />
-<infoparam name="TGComponent" value="Request start_TCP_IP" />
-<TGConnectingPoint num="0" id="115" />
+<cdrectangleparam minX="-10" maxX="150" minY="-10" maxY="180" />
+<infoparam name="TGComponent" value="Event answerToReset, pTSConfirm" />
+<TGConnectingPoint num="0" id="175" />
 <extraparam>
-<Prop commName="start_TCP_IP" commType="2" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="VOID" associatedEvent="VOID" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<Prop commName="answerToReset, pTSConfirm" commType="1" origin="true" finite="true" blocking="false" maxSamples="1" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -677,16 +810,16 @@
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="118" >
-<father id="133" num="12" />
-<cdparam x="735" y="254" />
-<sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="1600" maxHeight="1600" minDesiredWidth="0" minDesiredHeight="0" />
+<SUBCOMPONENT type="1203" id="178" >
+<father id="207" num="3" />
+<cdparam x="418" y="198" />
+<sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-10" maxX="179" minY="-10" maxY="244" />
-<infoparam name="TGComponent" value="Channel fromTtoP" />
-<TGConnectingPoint num="0" id="117" />
+<cdrectangleparam minX="-10" maxX="150" minY="-10" maxY="180" />
+<infoparam name="TGComponent" value="Channel fromSCtoD" />
+<TGConnectingPoint num="0" id="177" />
 <extraparam>
-<Prop commName="fromTtoP" commType="0" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="VOID" associatedEvent="VOID" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<Prop commName="fromSCtoD" commType="0" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -694,16 +827,16 @@
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="120" >
-<father id="133" num="13" />
-<cdparam x="735" y="223" />
-<sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="1600" maxHeight="1600" minDesiredWidth="0" minDesiredHeight="0" />
+<SUBCOMPONENT type="1203" id="180" >
+<father id="207" num="4" />
+<cdparam x="418" y="162" />
+<sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-10" maxX="179" minY="-10" maxY="244" />
-<infoparam name="TGComponent" value="Channel fromPtoT" />
-<TGConnectingPoint num="0" id="119" />
+<cdrectangleparam minX="-10" maxX="150" minY="-10" maxY="180" />
+<infoparam name="TGComponent" value="Channel fromDtoSC" />
+<TGConnectingPoint num="0" id="179" />
 <extraparam>
-<Prop commName="fromPtoT" commType="0" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="VOID" associatedEvent="VOID" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<Prop commName="fromDtoSC" commType="0" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="uint_16" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -711,16 +844,16 @@
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="122" >
-<father id="133" num="14" />
-<cdparam x="735" y="188" />
-<sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="1600" maxHeight="1600" minDesiredWidth="0" minDesiredHeight="0" />
+<SUBCOMPONENT type="1203" id="182" >
+<father id="207" num="5" />
+<cdparam x="418" y="232" />
+<sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-10" maxX="179" minY="-10" maxY="244" />
-<infoparam name="TGComponent" value="Event receive" />
-<TGConnectingPoint num="0" id="121" />
+<cdrectangleparam minX="-10" maxX="150" minY="-10" maxY="180" />
+<infoparam name="TGComponent" value="Event data_Ready_SC" />
+<TGConnectingPoint num="0" id="181" />
 <extraparam>
-<Prop commName="receive" commType="1" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="VOID" associatedEvent="VOID" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<Prop commName="data_Ready_SC" commType="1" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -728,79 +861,33 @@
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="124" >
-<father id="133" num="15" />
-<cdparam x="735" y="148" />
-<sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="1600" maxHeight="1600" minDesiredWidth="0" minDesiredHeight="0" />
+<SUBCOMPONENT type="1203" id="184" >
+<father id="207" num="6" />
+<cdparam x="418" y="125" />
+<sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-10" maxX="179" minY="-10" maxY="244" />
-<infoparam name="TGComponent" value="Event send" />
-<TGConnectingPoint num="0" id="123" />
+<cdrectangleparam minX="-10" maxX="150" minY="-10" maxY="180" />
+<infoparam name="TGComponent" value="Event data_Ready" />
+<TGConnectingPoint num="0" id="183" />
 <extraparam>
-<Prop commName="send" commType="1" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="VOID" associatedEvent="VOID" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
-<Type type="0" typeOther="" />
-<Type type="0" typeOther="" />
+<Prop commName="data_Ready" commType="1" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="uint_16" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<Type type="1" typeOther="" />
+<Type type="2" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1201" id="167" >
-<father id="176" num="1" />
-<cdparam x="664" y="290" />
-<sizeparam width="20" height="20" minWidth="8" minHeight="8" maxWidth="1600" maxHeight="1600" minDesiredWidth="0" minDesiredHeight="0" />
-<hidden value="false" />
-<cdrectangleparam minX="-10" maxX="446" minY="-10" maxY="378" />
-<infoparam name="Composite port" value="" />
-<TGConnectingPoint num="0" id="149" />
-<TGConnectingPoint num="1" id="150" />
-<TGConnectingPoint num="2" id="151" />
-<TGConnectingPoint num="3" id="152" />
-<TGConnectingPoint num="4" id="153" />
-<TGConnectingPoint num="5" id="154" />
-<TGConnectingPoint num="6" id="155" />
-<TGConnectingPoint num="7" id="156" />
-<TGConnectingPoint num="8" id="157" />
-<TGConnectingPoint num="9" id="158" />
-<TGConnectingPoint num="10" id="159" />
-<TGConnectingPoint num="11" id="160" />
-<TGConnectingPoint num="12" id="161" />
-<TGConnectingPoint num="13" id="162" />
-<TGConnectingPoint num="14" id="163" />
-<TGConnectingPoint num="15" id="164" />
-<TGConnectingPoint num="16" id="165" />
-<TGConnectingPoint num="17" id="166" />
-</SUBCOMPONENT>
-<SUBCOMPONENT type="1202" id="148" >
-<father id="176" num="2" />
-<cdparam x="986" y="263" />
-<sizeparam width="112" height="113" minWidth="0" minHeight="0" maxWidth="1600" maxHeight="1600" minDesiredWidth="0" minDesiredHeight="0" />
-<hidden value="false" />
-<cdrectangleparam minX="0" maxX="344" minY="0" maxY="275" />
-<infoparam name="TGComponent" value="Timer" />
-<TGConnectingPoint num="0" id="140" />
-<TGConnectingPoint num="1" id="141" />
-<TGConnectingPoint num="2" id="142" />
-<TGConnectingPoint num="3" id="143" />
-<TGConnectingPoint num="4" id="144" />
-<TGConnectingPoint num="5" id="145" />
-<TGConnectingPoint num="6" id="146" />
-<TGConnectingPoint num="7" id="147" />
-<extraparam>
-<Data isAttacker="No" />
-<Attribute access="2" id="x" value="0" type="0" typeOther="" />
-</extraparam>
-</SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="135" >
-<father id="148" num="0" />
-<cdparam x="978" y="345" />
-<sizeparam width="16" height="16" minWidth="0" minHeight="0" maxWidth="1600" maxHeight="1600" minDesiredWidth="0" minDesiredHeight="0" />
+<SUBCOMPONENT type="1203" id="186" >
+<father id="207" num="7" />
+<cdparam x="578" y="216" />
+<sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-8" maxX="104" minY="-8" maxY="105" />
-<infoparam name="TGComponent" value="Event stop" />
-<TGConnectingPoint num="0" id="134" />
+<cdrectangleparam minX="-10" maxX="150" minY="-10" maxY="180" />
+<infoparam name="TGComponent" value="Channel fromTtoP" />
+<TGConnectingPoint num="0" id="185" />
 <extraparam>
-<Prop commName="stop" commType="1" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="VOID" associatedEvent="VOID" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<Prop commName="fromTtoP" commType="0" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="VOID" associatedEvent="VOID" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -808,16 +895,16 @@
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="137" >
-<father id="148" num="1" />
-<cdparam x="978" y="323" />
-<sizeparam width="16" height="16" minWidth="0" minHeight="0" maxWidth="1600" maxHeight="1600" minDesiredWidth="0" minDesiredHeight="0" />
+<SUBCOMPONENT type="1203" id="188" >
+<father id="207" num="8" />
+<cdparam x="578" y="188" />
+<sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-8" maxX="104" minY="-8" maxY="105" />
-<infoparam name="TGComponent" value="Request req_Timer" />
-<TGConnectingPoint num="0" id="136" />
+<cdrectangleparam minX="-10" maxX="150" minY="-10" maxY="180" />
+<infoparam name="TGComponent" value="Channel fromPtoT" />
+<TGConnectingPoint num="0" id="187" />
 <extraparam>
-<Prop commName="req_Timer" commType="2" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="VOID" associatedEvent="VOID" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<Prop commName="fromPtoT" commType="0" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="VOID" associatedEvent="VOID" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -825,16 +912,16 @@
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="139" >
-<father id="148" num="2" />
-<cdparam x="978" y="295" />
-<sizeparam width="16" height="16" minWidth="0" minHeight="0" maxWidth="1600" maxHeight="1600" minDesiredWidth="0" minDesiredHeight="0" />
+<SUBCOMPONENT type="1203" id="190" >
+<father id="207" num="9" />
+<cdparam x="578" y="152" />
+<sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-8" maxX="104" minY="-8" maxY="105" />
-<infoparam name="TGComponent" value="Event timeOut" />
-<TGConnectingPoint num="0" id="138" />
+<cdrectangleparam minX="-10" maxX="150" minY="-10" maxY="180" />
+<infoparam name="TGComponent" value="Event receive" />
+<TGConnectingPoint num="0" id="189" />
 <extraparam>
-<Prop commName="timeOut" commType="1" origin="true" finite="true" blocking="false" maxSamples="1" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="VOID" associatedEvent="VOID" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<Prop commName="receive" commType="1" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="VOID" associatedEvent="VOID" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -842,43 +929,16 @@
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1202" id="94" >
-<father id="227" num="1" />
-<cdparam x="428" y="78" />
-<sizeparam width="160" height="190" minWidth="0" minHeight="0" maxWidth="1600" maxHeight="1600" minDesiredWidth="0" minDesiredHeight="0" />
-<hidden value="false" />
-<cdrectangleparam minX="0" maxX="588" minY="0" maxY="234" />
-<infoparam name="TGComponent" value="SmartCard" />
-<TGConnectingPoint num="0" id="86" />
-<TGConnectingPoint num="1" id="87" />
-<TGConnectingPoint num="2" id="88" />
-<TGConnectingPoint num="3" id="89" />
-<TGConnectingPoint num="4" id="90" />
-<TGConnectingPoint num="5" id="91" />
-<TGConnectingPoint num="6" id="92" />
-<TGConnectingPoint num="7" id="93" />
-<extraparam>
-<Data isAttacker="No" />
-<Attribute access="2" id="resetType" value="0" type="0" typeOther="" />
-<Attribute access="2" id="a" value="0" type="0" typeOther="" />
-<Attribute access="2" id="b" value="" type="4" typeOther="" />
-<Attribute access="2" id="i" value="0" type="0" typeOther="" />
-<Attribute access="2" id="j" value="0" type="0" typeOther="" />
-<Attribute access="2" id="x" value="0" type="0" typeOther="" />
-<Attribute access="2" id="tcpctrl" value="" type="5" typeOther="TCP_CTRL" />
-<Attribute access="2" id="t" value="" type="0" typeOther="" />
-</extraparam>
-</SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="1743" >
-<father id="94" num="0" />
-<cdparam x="544" y="258" />
-<sizeparam width="20" height="20" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<SUBCOMPONENT type="1203" id="192" >
+<father id="207" num="10" />
+<cdparam x="578" y="241" />
+<sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="-10" maxX="150" minY="-10" maxY="180" />
-<infoparam name="Primitive port" value="Channel comm" />
-<TGConnectingPoint num="0" id="1752" />
+<infoparam name="TGComponent" value="Request start_TCP_IP" />
+<TGConnectingPoint num="0" id="191" />
 <extraparam>
-<Prop commName="connectionOpened" 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="1" checkStrongAuthStatus="1" />
+<Prop commName="start_TCP_IP" commType="2" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="VOID" associatedEvent="VOID" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -886,16 +946,16 @@
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="61" >
-<father id="94" num="1" />
-<cdparam x="496" y="260" />
-<sizeparam width="16" height="16" minWidth="0" minHeight="0" maxWidth="1600" maxHeight="1600" minDesiredWidth="0" minDesiredHeight="0" />
+<SUBCOMPONENT type="1203" id="194" >
+<father id="207" num="11" />
+<cdparam x="420" y="93" />
+<sizeparam width="16" height="16" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="-8" maxX="152" minY="-8" maxY="182" />
-<infoparam name="TGComponent" value="Request start_Application" />
-<TGConnectingPoint num="0" id="60" />
+<infoparam name="TGComponent" value="Request activation" />
+<TGConnectingPoint num="0" id="193" />
 <extraparam>
-<Prop commName="start_Application" commType="2" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="VOID" associatedEvent="VOID" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<Prop commName="activation" commType="2" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="VOID" associatedEvent="VOID" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -903,16 +963,16 @@
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="63" >
-<father id="94" num="2" />
-<cdparam x="420" y="93" />
-<sizeparam width="16" height="16" minWidth="0" minHeight="0" maxWidth="1600" maxHeight="1600" minDesiredWidth="0" minDesiredHeight="0" />
+<SUBCOMPONENT type="1203" id="196" >
+<father id="207" num="12" />
+<cdparam x="496" y="260" />
+<sizeparam width="16" height="16" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="-8" maxX="152" minY="-8" maxY="182" />
-<infoparam name="TGComponent" value="Request activation" />
-<TGConnectingPoint num="0" id="62" />
+<infoparam name="TGComponent" value="Request start_Application" />
+<TGConnectingPoint num="0" id="195" />
 <extraparam>
-<Prop commName="activation" commType="2" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="VOID" associatedEvent="VOID" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<Prop commName="start_Application" commType="2" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="VOID" associatedEvent="VOID" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -920,16 +980,16 @@
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="65" >
-<father id="94" num="3" />
-<cdparam x="578" y="241" />
-<sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="1600" maxHeight="1600" minDesiredWidth="0" minDesiredHeight="0" />
+<SUBCOMPONENT type="1203" id="198" >
+<father id="207" num="13" />
+<cdparam x="544" y="258" />
+<sizeparam width="20" height="20" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="-10" maxX="150" minY="-10" maxY="180" />
-<infoparam name="TGComponent" value="Request start_TCP_IP" />
-<TGConnectingPoint num="0" id="64" />
+<infoparam name="Primitive port" value="Event connectionOpened" />
+<TGConnectingPoint num="0" id="197" />
 <extraparam>
-<Prop commName="start_TCP_IP" commType="2" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="VOID" associatedEvent="VOID" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<Prop commName="connectionOpened" 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" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -937,16 +997,55 @@
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="67" >
-<father id="94" num="4" />
-<cdparam x="578" y="152" />
-<sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="1600" maxHeight="1600" minDesiredWidth="0" minDesiredHeight="0" />
+<SUBCOMPONENT type="1200" id="291" >
+<father id="300" num="3" />
+<cdparam x="674" y="107" />
+<sizeparam width="456" height="388" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-10" maxX="150" minY="-10" maxY="180" />
-<infoparam name="TGComponent" value="Event receive" />
-<TGConnectingPoint num="0" id="66" />
+<cdrectangleparam minX="0" maxX="292" minY="0" maxY="36" />
+<infoparam name="TGComponent" value="TCPIP Entities" />
+<TGConnectingPoint num="0" id="283" />
+<TGConnectingPoint num="1" id="284" />
+<TGConnectingPoint num="2" id="285" />
+<TGConnectingPoint num="3" id="286" />
+<TGConnectingPoint num="4" id="287" />
+<TGConnectingPoint num="5" id="288" />
+<TGConnectingPoint num="6" id="289" />
+<TGConnectingPoint num="7" id="290" />
 <extraparam>
-<Prop commName="receive" commType="1" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="VOID" associatedEvent="VOID" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<info hiddeni="false" />
+</extraparam>
+</SUBCOMPONENT>
+<SUBCOMPONENT type="1202" id="222" >
+<father id="291" num="0" />
+<cdparam x="986" y="263" />
+<sizeparam width="112" height="113" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="0" maxX="344" minY="0" maxY="275" />
+<infoparam name="TGComponent" value="Timer" />
+<TGConnectingPoint num="0" id="214" />
+<TGConnectingPoint num="1" id="215" />
+<TGConnectingPoint num="2" id="216" />
+<TGConnectingPoint num="3" id="217" />
+<TGConnectingPoint num="4" id="218" />
+<TGConnectingPoint num="5" id="219" />
+<TGConnectingPoint num="6" id="220" />
+<TGConnectingPoint num="7" id="221" />
+<extraparam>
+<Data isAttacker="No" />
+<Attribute access="2" id="x" value="0" type="0" typeOther="" />
+</extraparam>
+</SUBCOMPONENT>
+<SUBCOMPONENT type="1203" id="209" >
+<father id="222" num="0" />
+<cdparam x="978" y="295" />
+<sizeparam width="16" height="16" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="-8" maxX="104" minY="-8" maxY="105" />
+<infoparam name="TGComponent" value="Event timeOut" />
+<TGConnectingPoint num="0" id="208" />
+<extraparam>
+<Prop commName="timeOut" commType="1" origin="true" finite="true" blocking="false" maxSamples="1" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="VOID" associatedEvent="VOID" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -954,16 +1053,16 @@
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="69" >
-<father id="94" num="5" />
-<cdparam x="578" y="188" />
-<sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="1600" maxHeight="1600" minDesiredWidth="0" minDesiredHeight="0" />
+<SUBCOMPONENT type="1203" id="211" >
+<father id="222" num="1" />
+<cdparam x="978" y="323" />
+<sizeparam width="16" height="16" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-10" maxX="150" minY="-10" maxY="180" />
-<infoparam name="TGComponent" value="Channel fromPtoT" />
-<TGConnectingPoint num="0" id="68" />
+<cdrectangleparam minX="-8" maxX="104" minY="-8" maxY="105" />
+<infoparam name="TGComponent" value="Request req_Timer" />
+<TGConnectingPoint num="0" id="210" />
 <extraparam>
-<Prop commName="fromPtoT" commType="0" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="VOID" associatedEvent="VOID" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<Prop commName="req_Timer" commType="2" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="VOID" associatedEvent="VOID" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -971,16 +1070,16 @@
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="71" >
-<father id="94" num="6" />
-<cdparam x="578" y="216" />
-<sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="1600" maxHeight="1600" minDesiredWidth="0" minDesiredHeight="0" />
+<SUBCOMPONENT type="1203" id="213" >
+<father id="222" num="2" />
+<cdparam x="978" y="345" />
+<sizeparam width="16" height="16" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-10" maxX="150" minY="-10" maxY="180" />
-<infoparam name="TGComponent" value="Channel fromTtoP" />
-<TGConnectingPoint num="0" id="70" />
+<cdrectangleparam minX="-8" maxX="104" minY="-8" maxY="105" />
+<infoparam name="TGComponent" value="Event stop" />
+<TGConnectingPoint num="0" id="212" />
 <extraparam>
-<Prop commName="fromTtoP" commType="0" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="VOID" associatedEvent="VOID" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<Prop commName="stop" commType="1" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="VOID" associatedEvent="VOID" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -988,33 +1087,68 @@
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="73" >
-<father id="94" num="7" />
-<cdparam x="418" y="125" />
-<sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="1600" maxHeight="1600" minDesiredWidth="0" minDesiredHeight="0" />
+<SUBCOMPONENT type="1201" id="241" >
+<father id="291" num="1" />
+<cdparam x="664" y="290" />
+<sizeparam width="20" height="20" minWidth="8" minHeight="8" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-10" maxX="150" minY="-10" maxY="180" />
-<infoparam name="TGComponent" value="Event data_Ready" />
-<TGConnectingPoint num="0" id="72" />
+<cdrectangleparam minX="-10" maxX="446" minY="-10" maxY="378" />
+<infoparam name="Composite port" value="" />
+<TGConnectingPoint num="0" id="223" />
+<TGConnectingPoint num="1" id="224" />
+<TGConnectingPoint num="2" id="225" />
+<TGConnectingPoint num="3" id="226" />
+<TGConnectingPoint num="4" id="227" />
+<TGConnectingPoint num="5" id="228" />
+<TGConnectingPoint num="6" id="229" />
+<TGConnectingPoint num="7" id="230" />
+<TGConnectingPoint num="8" id="231" />
+<TGConnectingPoint num="9" id="232" />
+<TGConnectingPoint num="10" id="233" />
+<TGConnectingPoint num="11" id="234" />
+<TGConnectingPoint num="12" id="235" />
+<TGConnectingPoint num="13" id="236" />
+<TGConnectingPoint num="14" id="237" />
+<TGConnectingPoint num="15" id="238" />
+<TGConnectingPoint num="16" id="239" />
+<TGConnectingPoint num="17" id="240" />
+</SUBCOMPONENT>
+<SUBCOMPONENT type="1202" id="282" >
+<father id="291" num="2" />
+<cdparam x="745" y="134" />
+<sizeparam width="189" height="254" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="0" maxX="267" minY="0" maxY="134" />
+<infoparam name="TGComponent" value="TCPIP" />
+<TGConnectingPoint num="0" id="274" />
+<TGConnectingPoint num="1" id="275" />
+<TGConnectingPoint num="2" id="276" />
+<TGConnectingPoint num="3" id="277" />
+<TGConnectingPoint num="4" id="278" />
+<TGConnectingPoint num="5" id="279" />
+<TGConnectingPoint num="6" id="280" />
+<TGConnectingPoint num="7" id="281" />
 <extraparam>
-<Prop commName="data_Ready" commType="1" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="uint_16" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
-<Type type="1" typeOther="" />
-<Type type="2" typeOther="" />
-<Type type="0" typeOther="" />
-<Type type="0" typeOther="" />
-<Type type="0" typeOther="" />
+<Data isAttacker="No" />
+<Attribute access="2" id="wind" value="64" type="0" typeOther="" />
+<Attribute access="2" id="seqNum" value="0" type="0" typeOther="" />
+<Attribute access="2" id="i" value="" type="0" typeOther="" />
+<Attribute access="2" id="j" value="" type="0" typeOther="" />
+<Attribute access="2" id="a" value="0" type="0" typeOther="" />
+<Attribute access="2" id="b" value="0" type="0" typeOther="" />
+<Attribute access="2" id="tcpctrl" value="" type="5" typeOther="TCP_CTRL" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="75" >
-<father id="94" num="8" />
-<cdparam x="418" y="232" />
-<sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="1600" maxHeight="1600" minDesiredWidth="0" minDesiredHeight="0" />
+<SUBCOMPONENT type="1203" id="243" >
+<father id="282" num="0" />
+<cdparam x="735" y="148" />
+<sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-10" maxX="150" minY="-10" maxY="180" />
-<infoparam name="TGComponent" value="Event data_Ready_SC" />
-<TGConnectingPoint num="0" id="74" />
+<cdrectangleparam minX="-10" maxX="179" minY="-10" maxY="244" />
+<infoparam name="TGComponent" value="Event send" />
+<TGConnectingPoint num="0" id="242" />
 <extraparam>
-<Prop commName="data_Ready_SC" commType="1" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<Prop commName="send" commType="1" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="VOID" associatedEvent="VOID" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -1022,16 +1156,16 @@
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="77" >
-<father id="94" num="9" />
-<cdparam x="418" y="162" />
-<sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="1600" maxHeight="1600" minDesiredWidth="0" minDesiredHeight="0" />
+<SUBCOMPONENT type="1203" id="245" >
+<father id="282" num="1" />
+<cdparam x="735" y="188" />
+<sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-10" maxX="150" minY="-10" maxY="180" />
-<infoparam name="TGComponent" value="Channel fromDtoSC" />
-<TGConnectingPoint num="0" id="76" />
+<cdrectangleparam minX="-10" maxX="179" minY="-10" maxY="244" />
+<infoparam name="TGComponent" value="Event receive" />
+<TGConnectingPoint num="0" id="244" />
 <extraparam>
-<Prop commName="fromDtoSC" commType="0" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="uint_16" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<Prop commName="receive" commType="1" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="VOID" associatedEvent="VOID" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -1039,16 +1173,16 @@
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="79" >
-<father id="94" num="10" />
-<cdparam x="418" y="198" />
-<sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="1600" maxHeight="1600" minDesiredWidth="0" minDesiredHeight="0" />
+<SUBCOMPONENT type="1203" id="247" >
+<father id="282" num="2" />
+<cdparam x="735" y="223" />
+<sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-10" maxX="150" minY="-10" maxY="180" />
-<infoparam name="TGComponent" value="Channel fromSCtoD" />
-<TGConnectingPoint num="0" id="78" />
+<cdrectangleparam minX="-10" maxX="179" minY="-10" maxY="244" />
+<infoparam name="TGComponent" value="Channel fromPtoT" />
+<TGConnectingPoint num="0" id="246" />
 <extraparam>
-<Prop commName="fromSCtoD" commType="0" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<Prop commName="fromPtoT" commType="0" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="VOID" associatedEvent="VOID" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -1056,16 +1190,16 @@
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="81" >
-<father id="94" num="11" />
-<cdparam x="418" y="258" />
-<sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="1600" maxHeight="1600" minDesiredWidth="0" minDesiredHeight="0" />
+<SUBCOMPONENT type="1203" id="249" >
+<father id="282" num="3" />
+<cdparam x="735" y="254" />
+<sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-10" maxX="150" minY="-10" maxY="180" />
-<infoparam name="TGComponent" value="Event answerToReset, pTSConfirm" />
-<TGConnectingPoint num="0" id="80" />
+<cdrectangleparam minX="-10" maxX="179" minY="-10" maxY="244" />
+<infoparam name="TGComponent" value="Channel fromTtoP" />
+<TGConnectingPoint num="0" id="248" />
 <extraparam>
-<Prop commName="answerToReset, pTSConfirm" commType="1" origin="true" finite="true" blocking="false" maxSamples="1" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<Prop commName="fromTtoP" commType="0" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="VOID" associatedEvent="VOID" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -1073,16 +1207,16 @@
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="83" >
-<father id="94" num="12" />
-<cdparam x="464" y="68" />
-<sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="1600" maxHeight="1600" minDesiredWidth="0" minDesiredHeight="0" />
+<SUBCOMPONENT type="1203" id="251" >
+<father id="282" num="4" />
+<cdparam x="737" y="282" />
+<sizeparam width="16" height="16" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-10" maxX="150" minY="-10" maxY="180" />
-<infoparam name="TGComponent" value="Event reset, pTS" />
-<TGConnectingPoint num="0" id="82" />
+<cdrectangleparam minX="-8" maxX="181" minY="-8" maxY="246" />
+<infoparam name="TGComponent" value="Request start_TCP_IP" />
+<TGConnectingPoint num="0" id="250" />
 <extraparam>
-<Prop commName="reset, pTS" commType="1" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="VOID" associatedEvent="VOID" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<Prop commName="start_TCP_IP" commType="2" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="VOID" associatedEvent="VOID" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -1090,16 +1224,16 @@
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="85" >
-<father id="94" num="13" />
-<cdparam x="578" y="89" />
-<sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="1600" maxHeight="1600" minDesiredWidth="0" minDesiredHeight="0" />
+<SUBCOMPONENT type="1203" id="253" >
+<father id="282" num="5" />
+<cdparam x="737" y="355" />
+<sizeparam width="16" height="16" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-10" maxX="150" minY="-10" maxY="180" />
-<infoparam name="TGComponent" value="Event send" />
-<TGConnectingPoint num="0" id="84" />
+<cdrectangleparam minX="-8" maxX="181" minY="-8" maxY="246" />
+<infoparam name="TGComponent" value="Event send_TCP" />
+<TGConnectingPoint num="0" id="252" />
 <extraparam>
-<Prop commName="send" commType="1" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="VOID" associatedEvent="VOID" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<Prop commName="send_TCP" commType="1" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="VOID" associatedEvent="VOID" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -1107,35 +1241,16 @@
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1202" id="199" >
-<father id="227" num="2" />
-<cdparam x="452" y="333" />
-<sizeparam width="192" height="116" minWidth="0" minHeight="0" maxWidth="1600" maxHeight="1600" minDesiredWidth="0" minDesiredHeight="0" />
-<hidden value="false" />
-<cdrectangleparam minX="0" maxX="556" minY="0" maxY="308" />
-<infoparam name="TGComponent" value="Application" />
-<TGConnectingPoint num="0" id="191" />
-<TGConnectingPoint num="1" id="192" />
-<TGConnectingPoint num="2" id="193" />
-<TGConnectingPoint num="3" id="194" />
-<TGConnectingPoint num="4" id="195" />
-<TGConnectingPoint num="5" id="196" />
-<TGConnectingPoint num="6" id="197" />
-<TGConnectingPoint num="7" id="198" />
-<extraparam>
-<Data isAttacker="No" />
-</extraparam>
-</SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="1766" >
-<father id="199" num="0" />
-<cdparam x="599" y="439" />
-<sizeparam width="20" height="20" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<SUBCOMPONENT type="1203" id="255" >
+<father id="282" num="6" />
+<cdparam x="737" y="333" />
+<sizeparam width="16" height="16" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-10" maxX="182" minY="-10" maxY="106" />
-<infoparam name="Primitive port" value="Channel comm" />
-<TGConnectingPoint num="0" id="1775" />
+<cdrectangleparam minX="-8" maxX="181" minY="-8" maxY="246" />
+<infoparam name="TGComponent" value="Event open, abort, close" />
+<TGConnectingPoint num="0" id="254" />
 <extraparam>
-<Prop commName="opened" 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="1" checkStrongAuthStatus="1" />
+<Prop commName="open, abort, close" commType="1" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="VOID" associatedEvent="VOID" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -1143,16 +1258,16 @@
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="1733" >
-<father id="199" num="1" />
-<cdparam x="558" y="323" />
-<sizeparam width="20" height="20" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<SUBCOMPONENT type="1203" id="257" >
+<father id="282" num="7" />
+<cdparam x="737" y="310" />
+<sizeparam width="16" height="16" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-10" maxX="182" minY="-10" maxY="106" />
-<infoparam name="Primitive port" value="Channel comm" />
-<TGConnectingPoint num="0" id="1742" />
+<cdrectangleparam minX="-8" maxX="181" minY="-8" maxY="246" />
+<infoparam name="TGComponent" value="Channel fromTtoA" />
+<TGConnectingPoint num="0" id="256" />
 <extraparam>
-<Prop commName="connectionOpened" 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="1" checkStrongAuthStatus="1" />
+<Prop commName="fromTtoA" commType="0" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="VOID" associatedEvent="VOID" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -1160,16 +1275,16 @@
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="178" >
-<father id="199" num="2" />
-<cdparam x="528" y="325" />
-<sizeparam width="16" height="16" minWidth="0" minHeight="0" maxWidth="1600" maxHeight="1600" minDesiredWidth="0" minDesiredHeight="0" />
+<SUBCOMPONENT type="1203" id="259" >
+<father id="282" num="8" />
+<cdparam x="768" y="380" />
+<sizeparam width="16" height="16" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-8" maxX="184" minY="-8" maxY="108" />
-<infoparam name="TGComponent" value="Request start_Application" />
-<TGConnectingPoint num="0" id="177" />
+<cdrectangleparam minX="-8" maxX="181" minY="-8" maxY="246" />
+<infoparam name="TGComponent" value="Channel fromAtoT" />
+<TGConnectingPoint num="0" id="258" />
 <extraparam>
-<Prop commName="start_Application" commType="2" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="VOID" associatedEvent="VOID" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<Prop commName="fromAtoT" commType="0" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="VOID" associatedEvent="VOID" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -1177,16 +1292,16 @@
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="180" >
-<father id="199" num="3" />
-<cdparam x="636" y="434" />
-<sizeparam width="16" height="16" minWidth="0" minHeight="0" maxWidth="1600" maxHeight="1600" minDesiredWidth="0" minDesiredHeight="0" />
+<SUBCOMPONENT type="1203" id="261" >
+<father id="282" num="9" />
+<cdparam x="737" y="373" />
+<sizeparam width="16" height="16" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-8" maxX="184" minY="-8" maxY="108" />
-<infoparam name="TGComponent" value="Channel fromAtoT" />
-<TGConnectingPoint num="0" id="179" />
+<cdrectangleparam minX="-8" maxX="181" minY="-8" maxY="246" />
+<infoparam name="TGComponent" value="Event receive_Application" />
+<TGConnectingPoint num="0" id="260" />
 <extraparam>
-<Prop commName="fromAtoT" commType="0" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="VOID" associatedEvent="VOID" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<Prop commName="receive_Application" commType="1" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -1194,16 +1309,16 @@
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="182" >
-<father id="199" num="4" />
-<cdparam x="636" y="408" />
-<sizeparam width="16" height="16" minWidth="0" minHeight="0" maxWidth="1600" maxHeight="1600" minDesiredWidth="0" minDesiredHeight="0" />
+<SUBCOMPONENT type="1203" id="263" >
+<father id="282" num="10" />
+<cdparam x="926" y="296" />
+<sizeparam width="16" height="16" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-8" maxX="184" minY="-8" maxY="108" />
-<infoparam name="TGComponent" value="Event receive_Application" />
-<TGConnectingPoint num="0" id="181" />
+<cdrectangleparam minX="-8" maxX="181" minY="-8" maxY="246" />
+<infoparam name="TGComponent" value="Event timeOut" />
+<TGConnectingPoint num="0" id="262" />
 <extraparam>
-<Prop commName="receive_Application" commType="1" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="1" checkStrongAuthStatus="1" />
+<Prop commName="timeOut" commType="1" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="VOID" associatedEvent="VOID" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -1211,16 +1326,16 @@
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="184" >
-<father id="199" num="5" />
-<cdparam x="636" y="359" />
-<sizeparam width="16" height="16" minWidth="0" minHeight="0" maxWidth="1600" maxHeight="1600" minDesiredWidth="0" minDesiredHeight="0" />
+<SUBCOMPONENT type="1203" id="265" >
+<father id="282" num="11" />
+<cdparam x="926" y="324" />
+<sizeparam width="16" height="16" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-8" maxX="184" minY="-8" maxY="108" />
-<infoparam name="TGComponent" value="Event open, abort, close" />
-<TGConnectingPoint num="0" id="183" />
+<cdrectangleparam minX="-8" maxX="181" minY="-8" maxY="246" />
+<infoparam name="TGComponent" value="Request req_Timer" />
+<TGConnectingPoint num="0" id="264" />
 <extraparam>
-<Prop commName="open, abort, close" commType="1" origin="true" finite="true" blocking="false" maxSamples="1" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="VOID" associatedEvent="VOID" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<Prop commName="req_Timer" commType="2" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="VOID" associatedEvent="VOID" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -1228,16 +1343,16 @@
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="186" >
-<father id="199" num="6" />
-<cdparam x="636" y="385" />
-<sizeparam width="16" height="16" minWidth="0" minHeight="0" maxWidth="1600" maxHeight="1600" minDesiredWidth="0" minDesiredHeight="0" />
+<SUBCOMPONENT type="1203" id="267" >
+<father id="282" num="12" />
+<cdparam x="926" y="159" />
+<sizeparam width="16" height="16" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-8" maxX="184" minY="-8" maxY="108" />
-<infoparam name="TGComponent" value="Event send_TCP" />
-<TGConnectingPoint num="0" id="185" />
+<cdrectangleparam minX="-8" maxX="181" minY="-8" maxY="246" />
+<infoparam name="TGComponent" value="Channel temp" />
+<TGConnectingPoint num="0" id="266" />
 <extraparam>
-<Prop commName="send_TCP" commType="1" origin="true" finite="false" blocking="false" maxSamples="1" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="VOID" associatedEvent="VOID" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<Prop commName="temp" commType="0" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="VOID" associatedEvent="VOID" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -1245,16 +1360,16 @@
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="188" >
-<father id="199" num="7" />
-<cdparam x="636" y="336" />
-<sizeparam width="16" height="16" minWidth="0" minHeight="0" maxWidth="1600" maxHeight="1600" minDesiredWidth="0" minDesiredHeight="0" />
+<SUBCOMPONENT type="1203" id="269" >
+<father id="282" num="13" />
+<cdparam x="926" y="213" />
+<sizeparam width="16" height="16" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-8" maxX="184" minY="-8" maxY="108" />
-<infoparam name="TGComponent" value="Channel fromTtoA" />
-<TGConnectingPoint num="0" id="187" />
+<cdrectangleparam minX="-8" maxX="181" minY="-8" maxY="246" />
+<infoparam name="TGComponent" value="Channel temp" />
+<TGConnectingPoint num="0" id="268" />
 <extraparam>
-<Prop commName="fromTtoA" commType="0" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="VOID" associatedEvent="VOID" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<Prop commName="temp" commType="0" origin="false" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="VOID" associatedEvent="VOID" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -1262,16 +1377,16 @@
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="190" >
-<father id="199" num="8" />
-<cdparam x="593" y="325" />
-<sizeparam width="16" height="16" minWidth="0" minHeight="0" maxWidth="1600" maxHeight="1600" minDesiredWidth="0" minDesiredHeight="0" />
+<SUBCOMPONENT type="1203" id="271" >
+<father id="282" num="14" />
+<cdparam x="926" y="356" />
+<sizeparam width="16" height="16" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-8" maxX="184" minY="-8" maxY="108" />
-<infoparam name="TGComponent" value="Request start_TCP_IP" />
-<TGConnectingPoint num="0" id="189" />
+<cdrectangleparam minX="-8" maxX="181" minY="-8" maxY="246" />
+<infoparam name="TGComponent" value="Event stop" />
+<TGConnectingPoint num="0" id="270" />
 <extraparam>
-<Prop commName="start_TCP_IP" commType="2" origin="true" finite="false" blocking="false" maxSamples="1" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="VOID" associatedEvent="VOID" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<Prop commName="stop" commType="1" origin="true" finite="true" blocking="false" maxSamples="1" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="VOID" associatedEvent="VOID" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -1279,66 +1394,57 @@
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1201" id="218" >
-<father id="227" num="3" />
-<cdparam x="418" y="301" />
-<sizeparam width="20" height="20" minWidth="8" minHeight="8" maxWidth="1600" maxHeight="1600" minDesiredWidth="0" minDesiredHeight="0" />
+<SUBCOMPONENT type="1203" id="273" >
+<father id="282" num="15" />
+<cdparam x="810" y="378" />
+<sizeparam width="20" height="20" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-10" maxX="738" minY="-10" maxY="414" />
-<infoparam name="Composite port" value="" />
-<TGConnectingPoint num="0" id="200" />
-<TGConnectingPoint num="1" id="201" />
-<TGConnectingPoint num="2" id="202" />
-<TGConnectingPoint num="3" id="203" />
-<TGConnectingPoint num="4" id="204" />
-<TGConnectingPoint num="5" id="205" />
-<TGConnectingPoint num="6" id="206" />
-<TGConnectingPoint num="7" id="207" />
-<TGConnectingPoint num="8" id="208" />
-<TGConnectingPoint num="9" id="209" />
-<TGConnectingPoint num="10" id="210" />
-<TGConnectingPoint num="11" id="211" />
-<TGConnectingPoint num="12" id="212" />
-<TGConnectingPoint num="13" id="213" />
-<TGConnectingPoint num="14" id="214" />
-<TGConnectingPoint num="15" id="215" />
-<TGConnectingPoint num="16" id="216" />
-<TGConnectingPoint num="17" id="217" />
+<cdrectangleparam minX="-10" maxX="179" minY="-10" maxY="244" />
+<infoparam name="Primitive port" value="Event opened" />
+<TGConnectingPoint num="0" id="272" />
+<extraparam>
+<Prop commName="opened" commType="1" origin="true" finite="false" blocking="false" 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" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+</extraparam>
 </SUBCOMPONENT>
 
 
 </TMLComponentTaskDiagramPanel>
 
 <TMLActivityDiagramPanel name="InterfaceDevice" minX="10" maxX="1400" minY="10" maxY="900" >
-<COMPONENT type="1012" id="235" >
+<COMPONENT type="1012" id="308" >
 <cdparam x="546" y="376" />
 <sizeparam width="30" height="30" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
 <infoparam name="choice" value="null" />
-<TGConnectingPoint num="0" id="231" />
-<TGConnectingPoint num="1" id="232" />
-<TGConnectingPoint num="2" id="233" />
-<TGConnectingPoint num="3" id="234" />
+<TGConnectingPoint num="0" id="304" />
+<TGConnectingPoint num="1" id="305" />
+<TGConnectingPoint num="2" id="306" />
+<TGConnectingPoint num="3" id="307" />
 </COMPONENT>
-<SUBCOMPONENT type="-1" id="228" >
-<father id="235" num="0" />
+<SUBCOMPONENT type="-1" id="301" >
+<father id="308" num="0" />
 <cdparam x="521" y="386" />
 <sizeparam width="12" height="15" minWidth="10" minHeight="0" 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="229" >
-<father id="235" num="1" />
+<SUBCOMPONENT type="-1" id="302" >
+<father id="308" num="1" />
 <cdparam x="581" y="386" />
 <sizeparam width="12" height="15" minWidth="10" minHeight="0" 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="230" >
-<father id="235" num="2" />
+<SUBCOMPONENT type="-1" id="303" >
+<father id="308" num="2" />
 <cdparam x="566" y="421" />
 <sizeparam width="12" height="15" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
@@ -1346,35 +1452,35 @@
 <infoparam name="guard 3" value="[ ]" />
 </SUBCOMPONENT>
 
-<COMPONENT type="1012" id="243" >
+<COMPONENT type="1012" id="316" >
 <cdparam x="644" y="517" />
 <sizeparam width="30" height="30" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
 <infoparam name="choice" value="null" />
-<TGConnectingPoint num="0" id="239" />
-<TGConnectingPoint num="1" id="240" />
-<TGConnectingPoint num="2" id="241" />
-<TGConnectingPoint num="3" id="242" />
+<TGConnectingPoint num="0" id="312" />
+<TGConnectingPoint num="1" id="313" />
+<TGConnectingPoint num="2" id="314" />
+<TGConnectingPoint num="3" id="315" />
 </COMPONENT>
-<SUBCOMPONENT type="-1" id="236" >
-<father id="243" num="0" />
+<SUBCOMPONENT type="-1" id="309" >
+<father id="316" num="0" />
 <cdparam x="599" y="527" />
 <sizeparam width="51" height="15" minWidth="10" minHeight="0" 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="[ x==0 ]" />
 </SUBCOMPONENT>
-<SUBCOMPONENT type="-1" id="237" >
-<father id="243" num="1" />
+<SUBCOMPONENT type="-1" id="310" >
+<father id="316" num="1" />
 <cdparam x="679" y="527" />
 <sizeparam width="12" height="15" minWidth="10" minHeight="0" 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="238" >
-<father id="243" num="2" />
+<SUBCOMPONENT type="-1" id="311" >
+<father id="316" num="2" />
 <cdparam x="664" y="562" />
 <sizeparam width="41" height="15" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
@@ -1382,76 +1488,76 @@
 <infoparam name="guard 3" value="[ x&gt;0 ]" />
 </SUBCOMPONENT>
 
-<COMPONENT type="1000" id="245" >
+<COMPONENT type="1000" id="318" >
 <cdparam x="222" y="58" />
 <sizeparam width="15" height="15" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
 <infoparam name="start state" value="null" />
-<TGConnectingPoint num="0" id="244" />
+<TGConnectingPoint num="0" id="317" />
 </COMPONENT>
 
-<COMPONENT type="1007" id="248" >
+<COMPONENT type="1007" id="321" >
 <cdparam x="192" y="137" />
 <sizeparam width="72" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
 <infoparam name="send request" value="activation()" />
-<TGConnectingPoint num="0" id="246" />
-<TGConnectingPoint num="1" id="247" />
+<TGConnectingPoint num="0" id="319" />
+<TGConnectingPoint num="1" id="320" />
 <extraparam>
 <Data requestName="activation" nbOfParams="5" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1008" id="251" >
+<COMPONENT type="1008" id="324" >
 <cdparam x="205" y="237" />
 <sizeparam width="47" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
 <infoparam name="send event" value="reset()" />
-<TGConnectingPoint num="0" id="249" />
-<TGConnectingPoint num="1" id="250" />
+<TGConnectingPoint num="0" id="322" />
+<TGConnectingPoint num="1" id="323" />
 <latencyCheck />
 <extraparam>
 <Data eventName="reset" nbOfParams="5" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1010" id="254" >
+<COMPONENT type="1010" id="327" >
 <cdparam x="173" y="288" />
 <sizeparam width="110" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
 <infoparam name="wait event" value="answerToReset() " />
-<TGConnectingPoint num="0" id="252" />
-<TGConnectingPoint num="1" id="253" />
+<TGConnectingPoint num="0" id="325" />
+<TGConnectingPoint num="1" id="326" />
 <extraparam>
 <Data eventName="answerToReset" nbOfParams="5" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1008" id="257" >
+<COMPONENT type="1008" id="330" >
 <cdparam x="208" y="337" />
 <sizeparam width="40" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
 <infoparam name="send event" value="pTS()" />
-<TGConnectingPoint num="0" id="255" />
-<TGConnectingPoint num="1" id="256" />
+<TGConnectingPoint num="0" id="328" />
+<TGConnectingPoint num="1" id="329" />
 <extraparam>
 <Data eventName="pTS" nbOfParams="5" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1010" id="260" >
+<COMPONENT type="1010" id="333" >
 <cdparam x="390" y="152" />
 <sizeparam width="89" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
 <infoparam name="wait event" value="pTSConfirm() " />
-<TGConnectingPoint num="0" id="258" />
-<TGConnectingPoint num="1" id="259" />
+<TGConnectingPoint num="0" id="331" />
+<TGConnectingPoint num="1" id="332" />
 <latencyCheck />
 <breakpoint />
 <extraparam>
@@ -1459,55 +1565,55 @@
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="301" id="277" >
+<COMPONENT type="301" id="350" >
 <cdparam x="367" y="222" />
 <sizeparam width="105" height="15" minWidth="50" minHeight="20" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
 <infoparam name="UML Note" value="data exchange
 " />
-<TGConnectingPoint num="0" id="261" />
-<TGConnectingPoint num="1" id="262" />
-<TGConnectingPoint num="2" id="263" />
-<TGConnectingPoint num="3" id="264" />
-<TGConnectingPoint num="4" id="265" />
-<TGConnectingPoint num="5" id="266" />
-<TGConnectingPoint num="6" id="267" />
-<TGConnectingPoint num="7" id="268" />
-<TGConnectingPoint num="8" id="269" />
-<TGConnectingPoint num="9" id="270" />
-<TGConnectingPoint num="10" id="271" />
-<TGConnectingPoint num="11" id="272" />
-<TGConnectingPoint num="12" id="273" />
-<TGConnectingPoint num="13" id="274" />
-<TGConnectingPoint num="14" id="275" />
-<TGConnectingPoint num="15" id="276" />
+<TGConnectingPoint num="0" id="334" />
+<TGConnectingPoint num="1" id="335" />
+<TGConnectingPoint num="2" id="336" />
+<TGConnectingPoint num="3" id="337" />
+<TGConnectingPoint num="4" id="338" />
+<TGConnectingPoint num="5" id="339" />
+<TGConnectingPoint num="6" id="340" />
+<TGConnectingPoint num="7" id="341" />
+<TGConnectingPoint num="8" id="342" />
+<TGConnectingPoint num="9" id="343" />
+<TGConnectingPoint num="10" id="344" />
+<TGConnectingPoint num="11" id="345" />
+<TGConnectingPoint num="12" id="346" />
+<TGConnectingPoint num="13" id="347" />
+<TGConnectingPoint num="14" id="348" />
+<TGConnectingPoint num="15" id="349" />
 <extraparam>
 <Line value="data exchange" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1006" id="280" >
+<COMPONENT type="1006" id="353" >
 <cdparam x="433" y="448" />
 <sizeparam width="87" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
 <infoparam name="write channel" value="fromDtoSC(1)" />
-<TGConnectingPoint num="0" id="278" />
-<TGConnectingPoint num="1" id="279" />
+<TGConnectingPoint num="0" id="351" />
+<TGConnectingPoint num="1" id="352" />
 <extraparam>
 <Data channelName="fromDtoSC" nbOfSamples="1" secPattern="" isAttacker="No" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1008" id="283" >
+<COMPONENT type="1008" id="356" >
 <cdparam x="422" y="507" />
 <sizeparam width="109" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
 <infoparam name="send event" value="data_Ready(x, b)" />
-<TGConnectingPoint num="0" id="281" />
-<TGConnectingPoint num="1" id="282" />
+<TGConnectingPoint num="0" id="354" />
+<TGConnectingPoint num="1" id="355" />
 <latencyCheck />
 <extraparam>
 <Data eventName="data_Ready" nbOfParams="5" />
@@ -1516,149 +1622,149 @@
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1001" id="285" >
+<COMPONENT type="1001" id="358" >
 <cdparam x="466" y="570" />
 <sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
 <infoparam name="stop state" value="null" />
-<TGConnectingPoint num="0" id="284" />
+<TGConnectingPoint num="0" id="357" />
 </COMPONENT>
 
-<COMPONENT type="1017" id="288" >
+<COMPONENT type="1017" id="361" >
 <cdparam x="593" y="447" />
 <sizeparam width="133" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
 <infoparam name="notified event" value="x=?data_Ready_SC()" />
-<TGConnectingPoint num="0" id="286" />
-<TGConnectingPoint num="1" id="287" />
+<TGConnectingPoint num="0" id="359" />
+<TGConnectingPoint num="1" id="360" />
 <extraparam>
 <Data eventName="data_Ready_SC" variable="x" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1001" id="290" >
+<COMPONENT type="1001" id="363" >
 <cdparam x="569" y="577" />
 <sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
 <infoparam name="stop state" value="null" />
-<TGConnectingPoint num="0" id="289" />
+<TGConnectingPoint num="0" id="362" />
 </COMPONENT>
 
-<COMPONENT type="1009" id="293" >
+<COMPONENT type="1009" id="366" >
 <cdparam x="614" y="700" />
 <sizeparam width="91" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
 <infoparam name="read channel" value="fromSCtoD(1) " />
-<TGConnectingPoint num="0" id="291" />
-<TGConnectingPoint num="1" id="292" />
+<TGConnectingPoint num="0" id="364" />
+<TGConnectingPoint num="1" id="365" />
 <extraparam>
 <Data channelName="fromSCtoD" nbOfSamples="1" secPattern="" isAttacker="No" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1010" id="296" >
+<COMPONENT type="1010" id="369" >
 <cdparam x="604" y="619" />
 <sizeparam width="110" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
 <infoparam name="wait event" value="data_Ready_SC() " />
-<TGConnectingPoint num="0" id="294" />
-<TGConnectingPoint num="1" id="295" />
+<TGConnectingPoint num="0" id="367" />
+<TGConnectingPoint num="1" id="368" />
 <accessibility />
 <extraparam>
 <Data eventName="data_Ready_SC" nbOfParams="5" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1001" id="298" >
+<COMPONENT type="1001" id="371" >
 <cdparam x="649" y="774" />
 <sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
 <infoparam name="stop state" value="null" />
-<TGConnectingPoint num="0" id="297" />
+<TGConnectingPoint num="0" id="370" />
 </COMPONENT>
 
-<COMPONENT type="1014" id="302" >
+<COMPONENT type="1014" id="375" >
 <cdparam x="307" y="287" />
 <sizeparam width="254" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
 <infoparam name="for loop" value="for(i=0;i&lt;nbOfComputedPackets;i = i +1)" />
-<TGConnectingPoint num="0" id="299" />
-<TGConnectingPoint num="1" id="300" />
-<TGConnectingPoint num="2" id="301" />
+<TGConnectingPoint num="0" id="372" />
+<TGConnectingPoint num="1" id="373" />
+<TGConnectingPoint num="2" id="374" />
 <extraparam>
 <Data init="i=0" condition="i&lt;nbOfComputedPackets" increment="i = i +1" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1001" id="304" >
+<COMPONENT type="1001" id="377" >
 <cdparam x="382" y="380" />
 <sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
 <infoparam name="stop state" value="null" />
-<TGConnectingPoint num="0" id="303" />
+<TGConnectingPoint num="0" id="376" />
 </COMPONENT>
 
-<CONNECTOR type="115" id="305" >
+<CONNECTOR type="115" id="378" >
 <cdparam x="434" y="312" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="null" />
-<P1  x="434" y="312" id="301" />
-<P2  x="392" y="375" id="303" />
+<P1  x="434" y="312" id="374" />
+<P2  x="392" y="375" id="376" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="306" >
+<CONNECTOR type="115" id="379" >
 <cdparam x="561" y="301" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="null" />
-<P1  x="561" y="301" id="300" />
-<P2  x="561" y="366" id="231" />
+<P1  x="561" y="301" id="373" />
+<P2  x="561" y="366" id="304" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="311" >
+<CONNECTOR type="115" id="384" >
 <cdparam x="78" y="363" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from send event to wait event" value="null" />
-<P1  x="228" y="362" id="256" />
-<P2  x="434" y="147" id="258" />
+<P1  x="228" y="362" id="329" />
+<P2  x="434" y="147" id="331" />
 <Point x="228" y="382" />
 <Point x="228" y="382" />
 <Point x="286" y="376" />
 <Point x="285" y="127" />
 <AutomaticDrawing  data="true" />
-</CONNECTOR><SUBCOMPONENT type="-1" id="307" >
-<father id="311" num="0" />
+</CONNECTOR><SUBCOMPONENT type="-1" id="380" >
+<father id="384" num="0" />
 <cdparam x="228" y="382" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="1400" />
 <infoparam name="point " value="null" />
 </SUBCOMPONENT>
-<SUBCOMPONENT type="-1" id="308" >
-<father id="311" num="1" />
+<SUBCOMPONENT type="-1" id="381" >
+<father id="384" num="1" />
 <cdparam x="228" y="382" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="1400" />
 <infoparam name="point " value="null" />
 </SUBCOMPONENT>
-<SUBCOMPONENT type="-1" id="309" >
-<father id="311" num="2" />
+<SUBCOMPONENT type="-1" id="382" >
+<father id="384" num="2" />
 <cdparam x="286" y="376" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="1400" />
 <infoparam name="point " value="null" />
 </SUBCOMPONENT>
-<SUBCOMPONENT type="-1" id="310" >
-<father id="311" num="3" />
+<SUBCOMPONENT type="-1" id="383" >
+<father id="384" num="3" />
 <cdparam x="285" y="127" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
@@ -1666,1714 +1772,1255 @@
 <infoparam name="point " value="null" />
 </SUBCOMPONENT>
 
-<CONNECTOR type="115" id="312" >
+<CONNECTOR type="115" id="385" >
 <cdparam x="228" y="57" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from start state to send request" value="null" />
-<P1  x="229" y="78" id="244" />
-<P2  x="228" y="132" id="246" />
+<P1  x="229" y="78" id="317" />
+<P2  x="228" y="132" id="319" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="313" >
+<CONNECTOR type="115" id="386" >
 <cdparam x="228" y="162" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from send request to send event" value="null" />
-<P1  x="228" y="162" id="247" />
-<P2  x="228" y="232" id="249" />
+<P1  x="228" y="162" id="320" />
+<P2  x="228" y="232" id="322" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="314" >
+<CONNECTOR type="115" id="387" >
 <cdparam x="228" y="284" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from wait event to send event" value="null" />
-<P1  x="228" y="313" id="253" />
-<P2  x="228" y="332" id="255" />
+<P1  x="228" y="313" id="326" />
+<P2  x="228" y="332" id="328" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="315" >
+<CONNECTOR type="115" id="388" >
 <cdparam x="528" y="391" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from choice to write channel" value="null" />
-<P1  x="521" y="391" id="232" />
-<P2  x="476" y="443" id="278" />
+<P1  x="521" y="391" id="305" />
+<P2  x="476" y="443" id="351" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="316" >
+<CONNECTOR type="115" id="389" >
 <cdparam x="476" y="473" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from write channel to send event" value="null" />
-<P1  x="476" y="473" id="279" />
-<P2  x="476" y="502" id="281" />
+<P1  x="476" y="473" id="352" />
+<P2  x="476" y="502" id="354" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="317" >
+<CONNECTOR type="115" id="390" >
 <cdparam x="471" y="529" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from send event to stop state" value="null" />
-<P1  x="476" y="532" id="282" />
-<P2  x="476" y="565" id="284" />
+<P1  x="476" y="532" id="355" />
+<P2  x="476" y="565" id="357" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="318" >
+<CONNECTOR type="115" id="391" >
 <cdparam x="619" y="532" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from choice to stop state" value="null" />
-<P1  x="619" y="532" id="240" />
-<P2  x="579" y="572" id="289" />
+<P1  x="619" y="532" id="313" />
+<P2  x="579" y="572" id="362" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="319" >
+<CONNECTOR type="115" id="392" >
 <cdparam x="580" y="405" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from choice to notified event" value="null" />
-<P1  x="601" y="391" id="233" />
-<P2  x="659" y="442" id="286" />
+<P1  x="601" y="391" id="306" />
+<P2  x="659" y="442" id="359" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="320" >
+<CONNECTOR type="115" id="393" >
 <cdparam x="659" y="472" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from notified event to choice" value="null" />
-<P1  x="659" y="472" id="287" />
-<P2  x="659" y="507" id="239" />
+<P1  x="659" y="472" id="360" />
+<P2  x="659" y="507" id="312" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="321" >
+<CONNECTOR type="115" id="394" >
 <cdparam x="659" y="572" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from choice to wait event" value="null" />
-<P1  x="659" y="572" id="242" />
-<P2  x="659" y="614" id="294" />
+<P1  x="659" y="572" id="315" />
+<P2  x="659" y="614" id="367" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="322" >
+<CONNECTOR type="115" id="395" >
 <cdparam x="670" y="644" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from wait event to read channel" value="null" />
-<P1  x="659" y="644" id="295" />
-<P2  x="659" y="695" id="291" />
+<P1  x="659" y="644" id="368" />
+<P2  x="659" y="695" id="364" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="323" >
+<CONNECTOR type="115" id="396" >
 <cdparam x="659" y="725" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from read channel to stop state" value="null" />
-<P1  x="659" y="725" id="292" />
-<P2  x="659" y="769" id="297" />
+<P1  x="659" y="725" id="365" />
+<P2  x="659" y="769" id="370" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="324" >
+<CONNECTOR type="115" id="397" >
 <cdparam x="403" y="190" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from wait event to for loop" value="null" />
-<P1  x="434" y="177" id="259" />
-<P2  x="434" y="282" id="299" />
+<P1  x="434" y="177" id="332" />
+<P2  x="434" y="282" id="372" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="325" >
+<CONNECTOR type="115" id="398" >
 <cdparam x="228" y="262" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from send event to wait event" value="null" />
-<P1  x="228" y="262" id="250" />
-<P2  x="228" y="283" id="252" />
+<P1  x="228" y="262" id="323" />
+<P2  x="228" y="283" id="325" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 
 </TMLActivityDiagramPanel>
 
-<TMLActivityDiagramPanel name="Application" minX="10" maxX="1400" minY="10" maxY="900" >
-<CONNECTOR type="115" id="1792" >
-<cdparam x="515" y="376" />
-<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<infoparam name="connector" value="null" />
-<P1  x="509" y="376" id="1790" />
-<P2  x="510" y="401" id="329" />
-<AutomaticDrawing  data="true" />
-</CONNECTOR>
-<COMPONENT type="1026" id="1788" >
-<cdparam x="504" y="341" />
-<sizeparam width="10" height="30" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<hidden value="false" />
-<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
-<infoparam name="delay" value="null" />
-<TGConnectingPoint num="0" id="1789" />
-<TGConnectingPoint num="1" id="1790" />
-</COMPONENT>
-<SUBCOMPONENT type="-1" id="1791" >
-<father id="1788" num="0" />
-<cdparam x="519" y="361" />
-<sizeparam width="38" height="15" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<TMLActivityDiagramPanel name="TCPIP" minX="10" maxX="2900" minY="10" maxY="1900" >
+<COMPONENT type="1008" id="401" >
+<cdparam x="159" y="424" />
+<sizeparam width="62" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-75" maxX="30" minY="10" maxY="30" />
-<infoparam name="value of the delay" value="10 ms" />
+<cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
+<infoparam name="send event" value="opened()" />
+<TGConnectingPoint num="0" id="399" />
+<TGConnectingPoint num="1" id="400" />
 <extraparam>
-<TimeDelay minDelay="10" maxDelay="nope" hasMaxDelay="false" unit="ms" />
+<Data eventName="opened" nbOfParams="5" />
 </extraparam>
+</COMPONENT>
+
+<COMPONENT type="1012" id="409" >
+<cdparam x="2086" y="1378" />
+<sizeparam width="30" height="30" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
+<infoparam name="choice" value="null" />
+<TGConnectingPoint num="0" id="405" />
+<TGConnectingPoint num="1" id="406" />
+<TGConnectingPoint num="2" id="407" />
+<TGConnectingPoint num="3" id="408" />
+</COMPONENT>
+<SUBCOMPONENT type="-1" id="402" >
+<father id="409" num="0" />
+<cdparam x="2061" y="1388" />
+<sizeparam width="12" height="15" minWidth="10" minHeight="0" 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="403" >
+<father id="409" num="1" />
+<cdparam x="2121" y="1388" />
+<sizeparam width="39" height="15" minWidth="10" minHeight="0" 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="[ else ]" />
+</SUBCOMPONENT>
+<SUBCOMPONENT type="-1" id="404" >
+<father id="409" num="2" />
+<cdparam x="2106" y="1426" />
+<sizeparam width="124" height="15" minWidth="10" minHeight="0" 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="[ tcpctrl.state ==10 ]" />
 </SUBCOMPONENT>
 
-<CONNECTOR type="115" id="1765" >
-<cdparam x="512" y="154" />
-<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<infoparam name="connector" value="null" />
-<P1  x="512" y="154" id="1764" />
-<P2  x="511" y="187" id="1730" />
-<AutomaticDrawing  data="true" />
-</CONNECTOR>
-<COMPONENT type="1010" id="1762" >
-<cdparam x="479" y="129" />
-<sizeparam width="66" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<COMPONENT type="1012" id="417" >
+<cdparam x="2262" y="951" />
+<sizeparam width="30" height="30" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
-<infoparam name="wait event" value="opened() " />
-<TGConnectingPoint num="0" id="1763" />
-<TGConnectingPoint num="1" id="1764" />
-<extraparam>
-<Data eventName="opened" nbOfParams="5" />
-</extraparam>
+<cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
+<infoparam name="choice" value="null" />
+<TGConnectingPoint num="0" id="413" />
+<TGConnectingPoint num="1" id="414" />
+<TGConnectingPoint num="2" id="415" />
+<TGConnectingPoint num="3" id="416" />
 </COMPONENT>
+<SUBCOMPONENT type="-1" id="410" >
+<father id="417" num="0" />
+<cdparam x="2212" y="961" />
+<sizeparam width="116" height="15" minWidth="10" minHeight="0" 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="[ tcpctrl.state ==1 ]" />
+</SUBCOMPONENT>
+<SUBCOMPONENT type="-1" id="411" >
+<father id="417" num="1" />
+<cdparam x="2301" y="975" />
+<sizeparam width="116" height="15" minWidth="10" minHeight="0" 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="[ tcpctrl.state ==3 ]" />
+</SUBCOMPONENT>
+<SUBCOMPONENT type="-1" id="412" >
+<father id="417" num="2" />
+<cdparam x="2282" y="996" />
+<sizeparam width="39" height="15" minWidth="10" minHeight="0" 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="[ else ]" />
+</SUBCOMPONENT>
 
-<CONNECTOR type="115" id="1732" >
-<cdparam x="594" y="221" />
-<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<infoparam name="connector" value="null" />
-<P1  x="511" y="217" id="1731" />
-<P2  x="509" y="245" id="339" />
-<AutomaticDrawing  data="true" />
-</CONNECTOR>
-<COMPONENT type="1008" id="1729" >
-<cdparam x="449" y="192" />
-<sizeparam width="125" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<COMPONENT type="1012" id="425" >
+<cdparam x="1981" y="1346" />
+<sizeparam width="30" height="30" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
-<infoparam name="send event" value="connectionOpened()" />
-<TGConnectingPoint num="0" id="1730" />
-<TGConnectingPoint num="1" id="1731" />
-<extraparam>
-<Data eventName="connectionOpened" nbOfParams="5" />
-</extraparam>
+<cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
+<infoparam name="choice" value="null" />
+<TGConnectingPoint num="0" id="421" />
+<TGConnectingPoint num="1" id="422" />
+<TGConnectingPoint num="2" id="423" />
+<TGConnectingPoint num="3" id="424" />
 </COMPONENT>
+<SUBCOMPONENT type="-1" id="418" >
+<father id="425" num="0" />
+<cdparam x="1934" y="1356" />
+<sizeparam width="116" height="15" minWidth="10" minHeight="0" 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="[ tcpctrl.state ==5 ]" />
+</SUBCOMPONENT>
+<SUBCOMPONENT type="-1" id="419" >
+<father id="425" num="1" />
+<cdparam x="2016" y="1356" />
+<sizeparam width="39" height="15" minWidth="10" minHeight="0" 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="[ else ]" />
+</SUBCOMPONENT>
+<SUBCOMPONENT type="-1" id="420" >
+<father id="425" num="2" />
+<cdparam x="2001" y="1391" />
+<sizeparam width="120" height="15" minWidth="10" minHeight="0" 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="[ tcpctrl.state == 7 ]" />
+</SUBCOMPONENT>
 
-<COMPONENT type="1012" id="333" >
-<cdparam x="495" y="411" />
+<COMPONENT type="1012" id="433" >
+<cdparam x="1811" y="1269" />
 <sizeparam width="30" height="30" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
+<cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="choice" value="null" />
-<TGConnectingPoint num="0" id="329" />
-<TGConnectingPoint num="1" id="330" />
-<TGConnectingPoint num="2" id="331" />
-<TGConnectingPoint num="3" id="332" />
+<TGConnectingPoint num="0" id="429" />
+<TGConnectingPoint num="1" id="430" />
+<TGConnectingPoint num="2" id="431" />
+<TGConnectingPoint num="3" id="432" />
 </COMPONENT>
-<SUBCOMPONENT type="-1" id="326" >
-<father id="333" num="0" />
-<cdparam x="470" y="421" />
+<SUBCOMPONENT type="-1" id="426" >
+<father id="433" num="0" />
+<cdparam x="1762" y="1279" />
+<sizeparam width="116" height="15" minWidth="10" minHeight="0" 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="[ tcpctrl.state ==4 ]" />
+</SUBCOMPONENT>
+<SUBCOMPONENT type="-1" id="427" >
+<father id="433" num="1" />
+<cdparam x="1846" y="1279" />
+<sizeparam width="39" height="15" minWidth="10" minHeight="0" 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="[ else ]" />
+</SUBCOMPONENT>
+<SUBCOMPONENT type="-1" id="428" >
+<father id="433" num="2" />
+<cdparam x="1831" y="1314" />
+<sizeparam width="116" height="15" minWidth="10" minHeight="0" 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="[ tcpctrl.state ==2 ]" />
+</SUBCOMPONENT>
+
+<COMPONENT type="1012" id="441" >
+<cdparam x="1713" y="1141" />
+<sizeparam width="30" height="30" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
+<infoparam name="choice" value="null" />
+<TGConnectingPoint num="0" id="437" />
+<TGConnectingPoint num="1" id="438" />
+<TGConnectingPoint num="2" id="439" />
+<TGConnectingPoint num="3" id="440" />
+</COMPONENT>
+<SUBCOMPONENT type="-1" id="434" >
+<father id="441" num="0" />
+<cdparam x="1688" y="1151" />
 <sizeparam width="12" height="15" minWidth="10" minHeight="0" 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="327" >
-<father id="333" num="1" />
-<cdparam x="530" y="421" />
+<SUBCOMPONENT type="-1" id="435" >
+<father id="441" num="1" />
+<cdparam x="1748" y="1151" />
 <sizeparam width="12" height="15" minWidth="10" minHeight="0" 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="328" >
-<father id="333" num="2" />
-<cdparam x="515" y="456" />
+<SUBCOMPONENT type="-1" id="436" >
+<father id="441" num="2" />
+<cdparam x="1733" y="1186" />
 <sizeparam width="12" height="15" minWidth="10" minHeight="0" 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="335" >
-<cdparam x="498" y="33" />
-<sizeparam width="15" height="15" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<COMPONENT type="1013" id="445" >
+<cdparam x="1524" y="1254" />
+<sizeparam width="10" height="30" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
-<infoparam name="start state" value="null" />
-<TGConnectingPoint num="0" id="334" />
+<cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
+<infoparam name="execI" value="null" />
+<TGConnectingPoint num="0" id="443" />
+<TGConnectingPoint num="1" id="444" />
 </COMPONENT>
-
-<COMPONENT type="1008" id="338" >
-<cdparam x="482" y="71" />
-<sizeparam width="47" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<SUBCOMPONENT type="-1" id="442" >
+<father id="445" num="0" />
+<cdparam x="1539" y="1274" />
+<sizeparam width="8" height="15" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
-<infoparam name="send event" value="open()" />
-<TGConnectingPoint num="0" id="336" />
-<TGConnectingPoint num="1" id="337" />
-<extraparam>
-<Data eventName="open" nbOfParams="5" />
-</extraparam>
-</COMPONENT>
+<cdrectangleparam minX="-75" maxX="30" minY="10" maxY="30" />
+<infoparam name="value of the delay" value="b" />
+</SUBCOMPONENT>
 
-<COMPONENT type="1006" id="341" >
-<cdparam x="469" y="250" />
-<sizeparam width="80" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<COMPONENT type="1013" id="449" >
+<cdparam x="1524" y="1064" />
+<sizeparam width="10" height="30" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
-<infoparam name="write channel" value="fromAtoT(1)" />
-<TGConnectingPoint num="0" id="339" />
-<TGConnectingPoint num="1" id="340" />
-<extraparam>
-<Data channelName="fromAtoT" nbOfSamples="1" secPattern="" isAttacker="No" />
-</extraparam>
+<cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
+<infoparam name="execI" value="null" />
+<TGConnectingPoint num="0" id="447" />
+<TGConnectingPoint num="1" id="448" />
 </COMPONENT>
+<SUBCOMPONENT type="-1" id="446" >
+<father id="449" num="0" />
+<cdparam x="1538" y="1088" />
+<sizeparam width="8" height="15" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="-75" maxX="30" minY="10" maxY="30" />
+<infoparam name="value of the delay" value="b" />
+</SUBCOMPONENT>
 
-<COMPONENT type="1008" id="344" >
-<cdparam x="471" y="296" />
-<sizeparam width="75" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<COMPONENT type="1012" id="457" >
+<cdparam x="1592" y="1006" />
+<sizeparam width="30" height="30" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
-<infoparam name="send event" value="send_TCP()" />
-<TGConnectingPoint num="0" id="342" />
-<TGConnectingPoint num="1" id="343" />
-<accessibility />
-<extraparam>
-<Data eventName="send_TCP" nbOfParams="5" />
-</extraparam>
+<cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
+<infoparam name="choice" value="null" />
+<TGConnectingPoint num="0" id="453" />
+<TGConnectingPoint num="1" id="454" />
+<TGConnectingPoint num="2" id="455" />
+<TGConnectingPoint num="3" id="456" />
 </COMPONENT>
+<SUBCOMPONENT type="-1" id="450" >
+<father id="457" num="0" />
+<cdparam x="1542" y="1016" />
+<sizeparam width="124" height="15" minWidth="10" minHeight="0" 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="[ tcpctrl.state  == 4 ]" />
+</SUBCOMPONENT>
+<SUBCOMPONENT type="-1" id="451" >
+<father id="457" num="1" />
+<cdparam x="1627" y="1016" />
+<sizeparam width="39" height="15" minWidth="10" minHeight="0" 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="[ else ]" />
+</SUBCOMPONENT>
+<SUBCOMPONENT type="-1" id="452" >
+<father id="457" num="2" />
+<cdparam x="1612" y="1051" />
+<sizeparam width="12" height="15" minWidth="10" minHeight="0" 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="1001" id="346" >
-<cdparam x="577" y="545" />
-<sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<COMPONENT type="1012" id="465" >
+<cdparam x="1713" y="875" />
+<sizeparam width="30" height="30" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
-<infoparam name="stop state" value="null" />
-<TGConnectingPoint num="0" id="345" />
+<cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
+<infoparam name="choice" value="null" />
+<TGConnectingPoint num="0" id="461" />
+<TGConnectingPoint num="1" id="462" />
+<TGConnectingPoint num="2" id="463" />
+<TGConnectingPoint num="3" id="464" />
 </COMPONENT>
+<SUBCOMPONENT type="-1" id="458" >
+<father id="465" num="0" />
+<cdparam x="1688" y="885" />
+<sizeparam width="12" height="15" minWidth="10" minHeight="0" 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="459" >
+<father id="465" num="1" />
+<cdparam x="1748" y="885" />
+<sizeparam width="12" height="15" minWidth="10" minHeight="0" 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="460" >
+<father id="465" num="2" />
+<cdparam x="1733" y="920" />
+<sizeparam width="12" height="15" minWidth="10" minHeight="0" 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="1008" id="349" >
-<cdparam x="563" y="486" />
-<sizeparam width="49" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<COMPONENT type="1013" id="469" >
+<cdparam x="1636" y="1235" />
+<sizeparam width="10" height="30" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
-<infoparam name="send event" value="abort()" />
-<TGConnectingPoint num="0" id="347" />
-<TGConnectingPoint num="1" id="348" />
-<extraparam>
-<Data eventName="abort" nbOfParams="5" />
-</extraparam>
+<cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
+<infoparam name="execI" value="null" />
+<TGConnectingPoint num="0" id="467" />
+<TGConnectingPoint num="1" id="468" />
 </COMPONENT>
+<SUBCOMPONENT type="-1" id="466" >
+<father id="469" num="0" />
+<cdparam x="1655" y="1254" />
+<sizeparam width="8" height="15" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="-75" maxX="30" minY="10" maxY="30" />
+<infoparam name="value of the delay" value="b" />
+</SUBCOMPONENT>
 
-<COMPONENT type="1008" id="352" >
-<cdparam x="410" y="494" />
-<sizeparam width="47" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<COMPONENT type="1013" id="473" >
+<cdparam x="2232" y="1059" />
+<sizeparam width="10" height="30" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
-<infoparam name="send event" value="close()" />
-<TGConnectingPoint num="0" id="350" />
-<TGConnectingPoint num="1" id="351" />
-<extraparam>
-<Data eventName="close" nbOfParams="5" />
-</extraparam>
+<cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
+<infoparam name="execI" value="null" />
+<TGConnectingPoint num="0" id="471" />
+<TGConnectingPoint num="1" id="472" />
 </COMPONENT>
+<SUBCOMPONENT type="-1" id="470" >
+<father id="473" num="0" />
+<cdparam x="2219" y="1083" />
+<sizeparam width="8" height="15" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="-75" maxX="30" minY="10" maxY="30" />
+<infoparam name="value of the delay" value="b" />
+</SUBCOMPONENT>
 
-<COMPONENT type="1001" id="354" >
-<cdparam x="423" y="543" />
-<sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<COMPONENT type="1013" id="477" >
+<cdparam x="2312" y="1024" />
+<sizeparam width="10" height="30" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
-<infoparam name="stop state" value="null" />
-<TGConnectingPoint num="0" id="353" />
+<cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
+<infoparam name="execI" value="null" />
+<TGConnectingPoint num="0" id="475" />
+<TGConnectingPoint num="1" id="476" />
 </COMPONENT>
+<SUBCOMPONENT type="-1" id="474" >
+<father id="477" num="0" />
+<cdparam x="2288" y="1044" />
+<sizeparam width="8" height="15" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="-75" maxX="30" minY="10" maxY="30" />
+<infoparam name="value of the delay" value="b" />
+</SUBCOMPONENT>
 
-<CONNECTOR type="115" id="355" >
-<cdparam x="506" y="36" />
-<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<infoparam name="connector from start state to send event" value="null" />
-<P1  x="505" y="53" id="334" />
-<P2  x="505" y="66" id="336" />
-<AutomaticDrawing  data="true" />
-</CONNECTOR>
-<CONNECTOR type="115" id="356" >
-<cdparam x="508" y="154" />
-<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<infoparam name="connector from send event to write channel" value="null" />
-<P1  x="505" y="96" id="337" />
-<P2  x="512" y="124" id="1763" />
-<AutomaticDrawing  data="true" />
-</CONNECTOR>
-<CONNECTOR type="115" id="357" >
-<cdparam x="509" y="294" />
-<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<infoparam name="connector from write channel to send event" value="null" />
-<P1  x="509" y="275" id="340" />
-<P2  x="508" y="291" id="342" />
-<AutomaticDrawing  data="true" />
-</CONNECTOR>
-<CONNECTOR type="115" id="358" >
-<cdparam x="587" y="511" />
-<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<infoparam name="connector from send event to stop state" value="null" />
-<P1  x="587" y="511" id="348" />
-<P2  x="587" y="540" id="345" />
-<AutomaticDrawing  data="true" />
-</CONNECTOR>
-<CONNECTOR type="115" id="359" >
-<cdparam x="509" y="370" />
-<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<infoparam name="connector from send event to choice" value="null" />
-<P1  x="508" y="321" id="343" />
-<P2  x="509" y="336" id="1789" />
-<AutomaticDrawing  data="true" />
-</CONNECTOR>
-<CONNECTOR type="115" id="360" >
-<cdparam x="471" y="505" />
-<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<infoparam name="connector from choice to send event" value="null" />
-<P1  x="470" y="426" id="330" />
-<P2  x="433" y="489" id="350" />
-<AutomaticDrawing  data="true" />
-</CONNECTOR>
-<CONNECTOR type="115" id="361" >
-<cdparam x="433" y="519" />
-<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<infoparam name="connector from send event to stop state" value="null" />
-<P1  x="433" y="519" id="351" />
-<P2  x="433" y="538" id="353" />
-<AutomaticDrawing  data="true" />
-</CONNECTOR>
-<CONNECTOR type="115" id="362" >
-<cdparam x="551" y="505" />
-<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<infoparam name="connector from choice to send event" value="null" />
-<P1  x="550" y="426" id="331" />
-<P2  x="587" y="481" id="347" />
-<AutomaticDrawing  data="true" />
-</CONNECTOR>
-
-</TMLActivityDiagramPanel>
+<COMPONENT type="1012" id="485" >
+<cdparam x="1193" y="1020" />
+<sizeparam width="30" height="30" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
+<infoparam name="choice" value="null" />
+<TGConnectingPoint num="0" id="481" />
+<TGConnectingPoint num="1" id="482" />
+<TGConnectingPoint num="2" id="483" />
+<TGConnectingPoint num="3" id="484" />
+</COMPONENT>
+<SUBCOMPONENT type="-1" id="478" >
+<father id="485" num="0" />
+<cdparam x="1168" y="1030" />
+<sizeparam width="12" height="15" minWidth="10" minHeight="0" 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="479" >
+<father id="485" num="1" />
+<cdparam x="1228" y="1030" />
+<sizeparam width="39" height="15" minWidth="10" minHeight="0" 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="[ else ]" />
+</SUBCOMPONENT>
+<SUBCOMPONENT type="-1" id="480" >
+<father id="485" num="2" />
+<cdparam x="1213" y="1065" />
+<sizeparam width="116" height="15" minWidth="10" minHeight="0" 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="[ tcpctrl.state ==6 ]" />
+</SUBCOMPONENT>
 
-<TMLActivityDiagramPanel name="Timer" minX="10" maxX="1400" minY="10" maxY="900" >
-<CONNECTOR type="115" id="1728" >
-<cdparam x="530" y="113" />
-<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="113" id="1726" />
-<P2  x="526" y="152" id="383" />
-<AutomaticDrawing  data="true" />
-</CONNECTOR>
-<COMPONENT type="1028" id="1724" >
-<cdparam x="525" y="78" />
+<COMPONENT type="1013" id="489" >
+<cdparam x="1203" y="1107" />
 <sizeparam width="10" height="30" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
-<infoparam name="delayInterval" value="null" />
-<TGConnectingPoint num="0" id="1725" />
-<TGConnectingPoint num="1" id="1726" />
+<cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
+<infoparam name="execI" value="null" />
+<TGConnectingPoint num="0" id="487" />
+<TGConnectingPoint num="1" id="488" />
 </COMPONENT>
-<SUBCOMPONENT type="-1" id="1727" >
-<father id="1724" num="0" />
-<cdparam x="540" y="98" />
-<sizeparam width="70" height="15" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<SUBCOMPONENT type="-1" id="486" >
+<father id="489" num="0" />
+<cdparam x="1218" y="1127" />
+<sizeparam width="8" height="15" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="-75" maxX="30" minY="10" maxY="30" />
-<infoparam name="value of the interval delay" value="[10, 10] ms" />
-<extraparam>
-<TimeDelay minDelay="10" maxDelay="10" hasMaxDelay="true" unit="ms" />
-</extraparam>
+<infoparam name="value of the delay" value="b" />
 </SUBCOMPONENT>
 
-<CONNECTOR type="115" id="1723" >
-<cdparam x="484" y="237" />
-<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<infoparam name="connector" value="null" />
-<P1  x="484" y="237" id="367" />
-<P2  x="427" y="334" id="375" />
-<AutomaticDrawing  data="true" />
-</CONNECTOR>
-<COMPONENT type="1012" id="370" >
-<cdparam x="509" y="222" />
+<COMPONENT type="1012" id="497" >
+<cdparam x="557" y="712" />
 <sizeparam width="30" height="30" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
+<cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="choice" value="null" />
-<TGConnectingPoint num="0" id="366" />
-<TGConnectingPoint num="1" id="367" />
-<TGConnectingPoint num="2" id="368" />
-<TGConnectingPoint num="3" id="369" />
+<TGConnectingPoint num="0" id="493" />
+<TGConnectingPoint num="1" id="494" />
+<TGConnectingPoint num="2" id="495" />
+<TGConnectingPoint num="3" id="496" />
 </COMPONENT>
-<SUBCOMPONENT type="-1" id="363" >
-<father id="370" num="0" />
-<cdparam x="464" y="232" />
-<sizeparam width="51" height="15" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<SUBCOMPONENT type="-1" id="490" >
+<father id="497" num="0" />
+<cdparam x="482" y="747" />
+<sizeparam width="120" height="15" minWidth="10" minHeight="0" 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="[ x==0 ]" />
+<infoparam name="guard 1" value="[ tcpctrl.state == 1 ]" />
 </SUBCOMPONENT>
-<SUBCOMPONENT type="-1" id="364" >
-<father id="370" num="1" />
-<cdparam x="544" y="234" />
-<sizeparam width="41" height="15" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<SUBCOMPONENT type="-1" id="491" >
+<father id="497" num="1" />
+<cdparam x="592" y="722" />
+<sizeparam width="39" height="15" minWidth="10" minHeight="0" 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="[ x&gt;0 ]" />
+<infoparam name="guard 2" value="[ else ]" />
 </SUBCOMPONENT>
-<SUBCOMPONENT type="-1" id="365" >
-<father id="370" num="2" />
-<cdparam x="529" y="267" />
+<SUBCOMPONENT type="-1" id="492" >
+<father id="497" num="2" />
+<cdparam x="577" y="757" />
 <sizeparam width="12" height="15" minWidth="10" minHeight="0" 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="372" >
-<cdparam x="489" y="26" />
-<sizeparam width="15" height="15" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<COMPONENT type="1013" id="501" >
+<cdparam x="717" y="694" />
+<sizeparam width="10" height="30" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
-<infoparam name="start state" value="null" />
-<TGConnectingPoint num="0" id="371" />
+<cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
+<infoparam name="execI" value="null" />
+<TGConnectingPoint num="0" id="499" />
+<TGConnectingPoint num="1" id="500" />
 </COMPONENT>
-
-<COMPONENT type="1001" id="374" >
-<cdparam x="417" y="407" />
-<sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<SUBCOMPONENT type="-1" id="498" >
+<father id="501" num="0" />
+<cdparam x="732" y="714" />
+<sizeparam width="8" height="15" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
-<infoparam name="stop state" value="null" />
-<TGConnectingPoint num="0" id="373" />
-</COMPONENT>
-
-<COMPONENT type="1008" id="377" >
-<cdparam x="396" y="339" />
-<sizeparam width="63" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<hidden value="false" />
-<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
-<infoparam name="send event" value="timeOut()" />
-<TGConnectingPoint num="0" id="375" />
-<TGConnectingPoint num="1" id="376" />
-<extraparam>
-<Data eventName="timeOut" nbOfParams="5" />
-</extraparam>
-</COMPONENT>
-
-<COMPONENT type="1010" id="380" >
-<cdparam x="599" y="300" />
-<sizeparam width="47" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<hidden value="false" />
-<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
-<infoparam name="wait event" value="stop() " />
-<TGConnectingPoint num="0" id="378" />
-<TGConnectingPoint num="1" id="379" />
-<extraparam>
-<Data eventName="stop" nbOfParams="5" />
-</extraparam>
-</COMPONENT>
-
-<COMPONENT type="1001" id="382" >
-<cdparam x="612" y="365" />
-<sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<hidden value="false" />
-<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
-<infoparam name="stop state" value="null" />
-<TGConnectingPoint num="0" id="381" />
-</COMPONENT>
-
-<COMPONENT type="1017" id="385" >
-<cdparam x="491" y="157" />
-<sizeparam width="70" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<hidden value="false" />
-<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
-<infoparam name="notified event" value="x=?stop()" />
-<TGConnectingPoint num="0" id="383" />
-<TGConnectingPoint num="1" id="384" />
-<extraparam>
-<Data eventName="stop" variable="x" />
-</extraparam>
-</COMPONENT>
-
-<CONNECTOR type="115" id="386" >
-<cdparam x="427" y="364" />
-<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<infoparam name="connector from send event to stop state" value="null" />
-<P1  x="427" y="364" id="376" />
-<P2  x="427" y="402" id="373" />
-<AutomaticDrawing  data="true" />
-</CONNECTOR>
-<CONNECTOR type="115" id="387" >
-<cdparam x="622" y="325" />
-<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<infoparam name="connector from wait event to stop state" value="null" />
-<P1  x="622" y="325" id="379" />
-<P2  x="622" y="360" id="381" />
-<AutomaticDrawing  data="true" />
-</CONNECTOR>
-<CONNECTOR type="115" id="388" >
-<cdparam x="526" y="114" />
-<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<infoparam name="connector from start state to notified event" value="null" />
-<P1  x="496" y="46" id="371" />
-<P2  x="530" y="73" id="1725" />
-<AutomaticDrawing  data="true" />
-</CONNECTOR>
-<CONNECTOR type="115" id="389" >
-<cdparam x="524" y="175" />
-<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<infoparam name="connector from notified event to choice" value="null" />
-<P1  x="526" y="182" id="384" />
-<P2  x="524" y="212" id="366" />
-<AutomaticDrawing  data="true" />
-</CONNECTOR>
-<CONNECTOR type="115" id="391" >
-<cdparam x="564" y="237" />
-<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<infoparam name="connector from choice to wait event" value="null" />
-<P1  x="564" y="237" id="368" />
-<P2  x="622" y="295" id="378" />
-<AutomaticDrawing  data="true" />
-</CONNECTOR>
-
-</TMLActivityDiagramPanel>
+<cdrectangleparam minX="-75" maxX="30" minY="10" maxY="30" />
+<infoparam name="value of the delay" value="b" />
+</SUBCOMPONENT>
 
-<TMLActivityDiagramPanel name="TCPIP" minX="10" maxX="2900" minY="10" maxY="1900" >
-<CONNECTOR type="115" id="1761" >
-<cdparam x="192" y="445" />
-<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<infoparam name="connector" value="null" />
-<P1  x="190" y="449" id="1760" />
-<P2  x="188" y="476" id="551" />
-<AutomaticDrawing  data="true" />
-</CONNECTOR>
-<COMPONENT type="1008" id="1758" >
-<cdparam x="159" y="424" />
-<sizeparam width="62" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<COMPONENT type="1013" id="505" >
+<cdparam x="938" y="1025" />
+<sizeparam width="10" height="30" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
-<infoparam name="send event" value="opened()" />
-<TGConnectingPoint num="0" id="1759" />
-<TGConnectingPoint num="1" id="1760" />
-<extraparam>
-<Data eventName="opened" nbOfParams="5" />
-</extraparam>
+<infoparam name="execI" value="null" />
+<TGConnectingPoint num="0" id="503" />
+<TGConnectingPoint num="1" id="504" />
 </COMPONENT>
+<SUBCOMPONENT type="-1" id="502" >
+<father id="505" num="0" />
+<cdparam x="953" y="1045" />
+<sizeparam width="8" height="15" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="-75" maxX="30" minY="10" maxY="30" />
+<infoparam name="value of the delay" value="b" />
+</SUBCOMPONENT>
 
-<COMPONENT type="1012" id="399" >
-<cdparam x="2086" y="1378" />
+<COMPONENT type="1012" id="513" >
+<cdparam x="1034" y="939" />
 <sizeparam width="30" height="30" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="choice" value="null" />
-<TGConnectingPoint num="0" id="395" />
-<TGConnectingPoint num="1" id="396" />
-<TGConnectingPoint num="2" id="397" />
-<TGConnectingPoint num="3" id="398" />
+<TGConnectingPoint num="0" id="509" />
+<TGConnectingPoint num="1" id="510" />
+<TGConnectingPoint num="2" id="511" />
+<TGConnectingPoint num="3" id="512" />
 </COMPONENT>
-<SUBCOMPONENT type="-1" id="392" >
-<father id="399" num="0" />
-<cdparam x="2061" y="1388" />
-<sizeparam width="12" height="15" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<SUBCOMPONENT type="-1" id="506" >
+<father id="513" num="0" />
+<cdparam x="959" y="974" />
+<sizeparam width="116" height="15" minWidth="10" minHeight="0" 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="[ ]" />
+<infoparam name="guard 1" value="[ tcpctrl.state ==4 ]" />
 </SUBCOMPONENT>
-<SUBCOMPONENT type="-1" id="393" >
-<father id="399" num="1" />
-<cdparam x="2121" y="1388" />
+<SUBCOMPONENT type="-1" id="507" >
+<father id="513" num="1" />
+<cdparam x="1070" y="949" />
 <sizeparam width="39" height="15" minWidth="10" minHeight="0" 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="[ else ]" />
 </SUBCOMPONENT>
-<SUBCOMPONENT type="-1" id="394" >
-<father id="399" num="2" />
-<cdparam x="2106" y="1426" />
-<sizeparam width="124" height="15" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<SUBCOMPONENT type="-1" id="508" >
+<father id="513" num="2" />
+<cdparam x="1054" y="984" />
+<sizeparam width="116" height="15" minWidth="10" minHeight="0" 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="[ tcpctrl.state ==10 ]" />
+<infoparam name="guard 3" value="[ tcpctrl.state == 5]" />
 </SUBCOMPONENT>
 
-<COMPONENT type="1012" id="407" >
-<cdparam x="2262" y="951" />
-<sizeparam width="30" height="30" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<COMPONENT type="1013" id="517" >
+<cdparam x="795" y="1009" />
+<sizeparam width="10" height="30" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
-<infoparam name="choice" value="null" />
-<TGConnectingPoint num="0" id="403" />
-<TGConnectingPoint num="1" id="404" />
-<TGConnectingPoint num="2" id="405" />
-<TGConnectingPoint num="3" id="406" />
+<infoparam name="execI" value="null" />
+<TGConnectingPoint num="0" id="515" />
+<TGConnectingPoint num="1" id="516" />
 </COMPONENT>
-<SUBCOMPONENT type="-1" id="400" >
-<father id="407" num="0" />
-<cdparam x="2212" y="961" />
-<sizeparam width="116" height="15" minWidth="10" minHeight="0" 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="[ tcpctrl.state ==1 ]" />
-</SUBCOMPONENT>
-<SUBCOMPONENT type="-1" id="401" >
-<father id="407" num="1" />
-<cdparam x="2301" y="975" />
-<sizeparam width="116" height="15" minWidth="10" minHeight="0" 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="[ tcpctrl.state ==3 ]" />
-</SUBCOMPONENT>
-<SUBCOMPONENT type="-1" id="402" >
-<father id="407" num="2" />
-<cdparam x="2282" y="996" />
-<sizeparam width="39" height="15" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<SUBCOMPONENT type="-1" id="514" >
+<father id="517" num="0" />
+<cdparam x="818" y="1031" />
+<sizeparam width="8" height="15" minWidth="10" minHeight="0" 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="[ else ]" />
+<cdrectangleparam minX="-75" maxX="30" minY="10" maxY="30" />
+<infoparam name="value of the delay" value="b" />
 </SUBCOMPONENT>
 
-<COMPONENT type="1012" id="415" >
-<cdparam x="1981" y="1346" />
+<COMPONENT type="1012" id="525" >
+<cdparam x="828" y="869" />
 <sizeparam width="30" height="30" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="choice" value="null" />
-<TGConnectingPoint num="0" id="411" />
-<TGConnectingPoint num="1" id="412" />
-<TGConnectingPoint num="2" id="413" />
-<TGConnectingPoint num="3" id="414" />
+<TGConnectingPoint num="0" id="521" />
+<TGConnectingPoint num="1" id="522" />
+<TGConnectingPoint num="2" id="523" />
+<TGConnectingPoint num="3" id="524" />
 </COMPONENT>
-<SUBCOMPONENT type="-1" id="408" >
-<father id="415" num="0" />
-<cdparam x="1934" y="1356" />
+<SUBCOMPONENT type="-1" id="518" >
+<father id="525" num="0" />
+<cdparam x="753" y="885" />
 <sizeparam width="116" height="15" minWidth="10" minHeight="0" 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="[ tcpctrl.state ==5 ]" />
+<infoparam name="guard 1" value="[ tcpctrl.state ==0 ]" />
 </SUBCOMPONENT>
-<SUBCOMPONENT type="-1" id="409" >
-<father id="415" num="1" />
-<cdparam x="2016" y="1356" />
+<SUBCOMPONENT type="-1" id="519" >
+<father id="525" num="1" />
+<cdparam x="863" y="879" />
 <sizeparam width="39" height="15" minWidth="10" minHeight="0" 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="[ else ]" />
 </SUBCOMPONENT>
-<SUBCOMPONENT type="-1" id="410" >
-<father id="415" num="2" />
-<cdparam x="2001" y="1391" />
-<sizeparam width="120" height="15" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<SUBCOMPONENT type="-1" id="520" >
+<father id="525" num="2" />
+<cdparam x="848" y="914" />
+<sizeparam width="112" height="15" minWidth="10" minHeight="0" 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="[ tcpctrl.state == 7 ]" />
+<infoparam name="guard 3" value="[ tcpctrl.state==0 ]" />
 </SUBCOMPONENT>
 
-<COMPONENT type="1012" id="423" >
-<cdparam x="1811" y="1269" />
-<sizeparam width="30" height="30" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<COMPONENT type="1013" id="529" >
+<cdparam x="341" y="764" />
+<sizeparam width="10" height="30" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
-<infoparam name="choice" value="null" />
-<TGConnectingPoint num="0" id="419" />
-<TGConnectingPoint num="1" id="420" />
-<TGConnectingPoint num="2" id="421" />
-<TGConnectingPoint num="3" id="422" />
+<infoparam name="execI" value="null" />
+<TGConnectingPoint num="0" id="527" />
+<TGConnectingPoint num="1" id="528" />
 </COMPONENT>
-<SUBCOMPONENT type="-1" id="416" >
-<father id="423" num="0" />
-<cdparam x="1762" y="1279" />
-<sizeparam width="116" height="15" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<SUBCOMPONENT type="-1" id="526" >
+<father id="529" num="0" />
+<cdparam x="354" y="785" />
+<sizeparam width="8" height="15" minWidth="10" minHeight="0" 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="[ tcpctrl.state ==4 ]" />
+<cdrectangleparam minX="-75" maxX="30" minY="10" maxY="30" />
+<infoparam name="value of the delay" value="b" />
 </SUBCOMPONENT>
-<SUBCOMPONENT type="-1" id="417" >
-<father id="423" num="1" />
-<cdparam x="1846" y="1279" />
-<sizeparam width="39" height="15" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+
+<COMPONENT type="1013" id="533" >
+<cdparam x="127" y="794" />
+<sizeparam width="10" height="30" minWidth="0" minHeight="0" 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="[ else ]" />
-</SUBCOMPONENT>
-<SUBCOMPONENT type="-1" id="418" >
-<father id="423" num="2" />
-<cdparam x="1831" y="1314" />
-<sizeparam width="116" height="15" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
+<infoparam name="execI" value="null" />
+<TGConnectingPoint num="0" id="531" />
+<TGConnectingPoint num="1" id="532" />
+</COMPONENT>
+<SUBCOMPONENT type="-1" id="530" >
+<father id="533" num="0" />
+<cdparam x="146" y="818" />
+<sizeparam width="8" height="15" minWidth="10" minHeight="0" 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="[ tcpctrl.state ==2 ]" />
+<cdrectangleparam minX="-75" maxX="30" minY="10" maxY="30" />
+<infoparam name="value of the delay" value="b" />
 </SUBCOMPONENT>
 
-<COMPONENT type="1012" id="431" >
-<cdparam x="1713" y="1141" />
+<COMPONENT type="1012" id="541" >
+<cdparam x="993" y="780" />
 <sizeparam width="30" height="30" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="choice" value="null" />
-<TGConnectingPoint num="0" id="427" />
-<TGConnectingPoint num="1" id="428" />
-<TGConnectingPoint num="2" id="429" />
-<TGConnectingPoint num="3" id="430" />
+<TGConnectingPoint num="0" id="537" />
+<TGConnectingPoint num="1" id="538" />
+<TGConnectingPoint num="2" id="539" />
+<TGConnectingPoint num="3" id="540" />
 </COMPONENT>
-<SUBCOMPONENT type="-1" id="424" >
-<father id="431" num="0" />
-<cdparam x="1688" y="1151" />
+<SUBCOMPONENT type="-1" id="534" >
+<father id="541" num="0" />
+<cdparam x="949" y="793" />
 <sizeparam width="12" height="15" minWidth="10" minHeight="0" 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="425" >
-<father id="431" num="1" />
-<cdparam x="1748" y="1151" />
+<SUBCOMPONENT type="-1" id="535" >
+<father id="541" num="1" />
+<cdparam x="1028" y="790" />
 <sizeparam width="12" height="15" minWidth="10" minHeight="0" 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="426" >
-<father id="431" num="2" />
-<cdparam x="1733" y="1186" />
+<SUBCOMPONENT type="-1" id="536" >
+<father id="541" num="2" />
+<cdparam x="1013" y="825" />
 <sizeparam width="12" height="15" minWidth="10" minHeight="0" 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="1013" id="435" >
-<cdparam x="1524" y="1254" />
+<COMPONENT type="1013" id="545" >
+<cdparam x="1003" y="701" />
 <sizeparam width="10" height="30" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="execI" value="null" />
-<TGConnectingPoint num="0" id="433" />
-<TGConnectingPoint num="1" id="434" />
+<TGConnectingPoint num="0" id="543" />
+<TGConnectingPoint num="1" id="544" />
 </COMPONENT>
-<SUBCOMPONENT type="-1" id="432" >
-<father id="435" num="0" />
-<cdparam x="1539" y="1274" />
+<SUBCOMPONENT type="-1" id="542" >
+<father id="545" num="0" />
+<cdparam x="1018" y="721" />
 <sizeparam width="8" height="15" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="-75" maxX="30" minY="10" maxY="30" />
 <infoparam name="value of the delay" value="b" />
 </SUBCOMPONENT>
 
-<COMPONENT type="1013" id="439" >
-<cdparam x="1524" y="1064" />
+<COMPONENT type="1013" id="549" >
+<cdparam x="459" y="783" />
 <sizeparam width="10" height="30" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="execI" value="null" />
-<TGConnectingPoint num="0" id="437" />
-<TGConnectingPoint num="1" id="438" />
+<TGConnectingPoint num="0" id="547" />
+<TGConnectingPoint num="1" id="548" />
 </COMPONENT>
-<SUBCOMPONENT type="-1" id="436" >
-<father id="439" num="0" />
-<cdparam x="1538" y="1088" />
+<SUBCOMPONENT type="-1" id="546" >
+<father id="549" num="0" />
+<cdparam x="474" y="802" />
 <sizeparam width="8" height="15" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="-75" maxX="30" minY="10" maxY="30" />
 <infoparam name="value of the delay" value="b" />
 </SUBCOMPONENT>
 
-<COMPONENT type="1012" id="447" >
-<cdparam x="1592" y="1006" />
-<sizeparam width="30" height="30" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<COMPONENT type="1013" id="553" >
+<cdparam x="225" y="863" />
+<sizeparam width="10" height="30" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
-<infoparam name="choice" value="null" />
-<TGConnectingPoint num="0" id="443" />
-<TGConnectingPoint num="1" id="444" />
-<TGConnectingPoint num="2" id="445" />
-<TGConnectingPoint num="3" id="446" />
+<infoparam name="execI" value="null" />
+<TGConnectingPoint num="0" id="551" />
+<TGConnectingPoint num="1" id="552" />
 </COMPONENT>
-<SUBCOMPONENT type="-1" id="440" >
-<father id="447" num="0" />
-<cdparam x="1542" y="1016" />
-<sizeparam width="124" height="15" minWidth="10" minHeight="0" 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="[ tcpctrl.state  == 4 ]" />
-</SUBCOMPONENT>
-<SUBCOMPONENT type="-1" id="441" >
-<father id="447" num="1" />
-<cdparam x="1627" y="1016" />
-<sizeparam width="39" height="15" minWidth="10" minHeight="0" 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="[ else ]" />
-</SUBCOMPONENT>
-<SUBCOMPONENT type="-1" id="442" >
-<father id="447" num="2" />
-<cdparam x="1612" y="1051" />
-<sizeparam width="12" height="15" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<SUBCOMPONENT type="-1" id="550" >
+<father id="553" num="0" />
+<cdparam x="245" y="885" />
+<sizeparam width="8" height="15" minWidth="10" minHeight="0" 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="[ ]" />
+<cdrectangleparam minX="-75" maxX="30" minY="10" maxY="30" />
+<infoparam name="value of the delay" value="b" />
 </SUBCOMPONENT>
 
-<COMPONENT type="1012" id="455" >
-<cdparam x="1713" y="875" />
-<sizeparam width="30" height="30" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<COMPONENT type="1013" id="557" >
+<cdparam x="1044" y="1057" />
+<sizeparam width="10" height="30" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
-<infoparam name="choice" value="null" />
-<TGConnectingPoint num="0" id="451" />
-<TGConnectingPoint num="1" id="452" />
-<TGConnectingPoint num="2" id="453" />
-<TGConnectingPoint num="3" id="454" />
+<infoparam name="execI" value="null" />
+<TGConnectingPoint num="0" id="555" />
+<TGConnectingPoint num="1" id="556" />
 </COMPONENT>
-<SUBCOMPONENT type="-1" id="448" >
-<father id="455" num="0" />
-<cdparam x="1688" y="885" />
-<sizeparam width="12" height="15" minWidth="10" minHeight="0" 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="449" >
-<father id="455" num="1" />
-<cdparam x="1748" y="885" />
-<sizeparam width="12" height="15" minWidth="10" minHeight="0" 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="450" >
-<father id="455" num="2" />
-<cdparam x="1733" y="920" />
-<sizeparam width="12" height="15" minWidth="10" minHeight="0" 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="1013" id="459" >
-<cdparam x="1636" y="1235" />
-<sizeparam width="10" height="30" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<hidden value="false" />
-<cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
-<infoparam name="execI" value="null" />
-<TGConnectingPoint num="0" id="457" />
-<TGConnectingPoint num="1" id="458" />
-</COMPONENT>
-<SUBCOMPONENT type="-1" id="456" >
-<father id="459" num="0" />
-<cdparam x="1655" y="1254" />
-<sizeparam width="8" height="15" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<hidden value="false" />
-<cdrectangleparam minX="-75" maxX="30" minY="10" maxY="30" />
-<infoparam name="value of the delay" value="b" />
-</SUBCOMPONENT>
-
-<COMPONENT type="1013" id="463" >
-<cdparam x="2232" y="1059" />
-<sizeparam width="10" height="30" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<hidden value="false" />
-<cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
-<infoparam name="execI" value="null" />
-<TGConnectingPoint num="0" id="461" />
-<TGConnectingPoint num="1" id="462" />
-</COMPONENT>
-<SUBCOMPONENT type="-1" id="460" >
-<father id="463" num="0" />
-<cdparam x="2219" y="1083" />
-<sizeparam width="8" height="15" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<hidden value="false" />
-<cdrectangleparam minX="-75" maxX="30" minY="10" maxY="30" />
-<infoparam name="value of the delay" value="b" />
-</SUBCOMPONENT>
-
-<COMPONENT type="1013" id="467" >
-<cdparam x="2312" y="1024" />
-<sizeparam width="10" height="30" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<hidden value="false" />
-<cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
-<infoparam name="execI" value="null" />
-<TGConnectingPoint num="0" id="465" />
-<TGConnectingPoint num="1" id="466" />
-</COMPONENT>
-<SUBCOMPONENT type="-1" id="464" >
-<father id="467" num="0" />
-<cdparam x="2288" y="1044" />
+<SUBCOMPONENT type="-1" id="554" >
+<father id="557" num="0" />
+<cdparam x="1059" y="1077" />
 <sizeparam width="8" height="15" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="-75" maxX="30" minY="10" maxY="30" />
 <infoparam name="value of the delay" value="b" />
 </SUBCOMPONENT>
 
-<COMPONENT type="1012" id="475" >
-<cdparam x="1193" y="1020" />
+<COMPONENT type="1012" id="565" >
+<cdparam x="173" y="486" />
 <sizeparam width="30" height="30" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="choice" value="null" />
-<TGConnectingPoint num="0" id="471" />
-<TGConnectingPoint num="1" id="472" />
-<TGConnectingPoint num="2" id="473" />
-<TGConnectingPoint num="3" id="474" />
+<TGConnectingPoint num="0" id="561" />
+<TGConnectingPoint num="1" id="562" />
+<TGConnectingPoint num="2" id="563" />
+<TGConnectingPoint num="3" id="564" />
 </COMPONENT>
-<SUBCOMPONENT type="-1" id="468" >
-<father id="475" num="0" />
-<cdparam x="1168" y="1030" />
-<sizeparam width="12" height="15" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<SUBCOMPONENT type="-1" id="558" >
+<father id="565" num="0" />
+<cdparam x="98" y="496" />
+<sizeparam width="112" height="15" minWidth="10" minHeight="0" 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="[ ]" />
+<infoparam name="guard 1" value="[ tcpctrl.state==0 ]" />
 </SUBCOMPONENT>
-<SUBCOMPONENT type="-1" id="469" >
-<father id="475" num="1" />
-<cdparam x="1228" y="1030" />
+<SUBCOMPONENT type="-1" id="559" >
+<father id="565" num="1" />
+<cdparam x="208" y="496" />
 <sizeparam width="39" height="15" minWidth="10" minHeight="0" 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="[ else ]" />
 </SUBCOMPONENT>
-<SUBCOMPONENT type="-1" id="470" >
-<father id="475" num="2" />
-<cdparam x="1213" y="1065" />
-<sizeparam width="116" height="15" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<SUBCOMPONENT type="-1" id="560" >
+<father id="565" num="2" />
+<cdparam x="193" y="531" />
+<sizeparam width="12" height="15" minWidth="10" minHeight="0" 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="[ tcpctrl.state ==6 ]" />
-</SUBCOMPONENT>
-
-<COMPONENT type="1013" id="479" >
-<cdparam x="1203" y="1107" />
-<sizeparam width="10" height="30" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<hidden value="false" />
-<cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
-<infoparam name="execI" value="null" />
-<TGConnectingPoint num="0" id="477" />
-<TGConnectingPoint num="1" id="478" />
-</COMPONENT>
-<SUBCOMPONENT type="-1" id="476" >
-<father id="479" num="0" />
-<cdparam x="1218" y="1127" />
-<sizeparam width="8" height="15" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<hidden value="false" />
-<cdrectangleparam minX="-75" maxX="30" minY="10" maxY="30" />
-<infoparam name="value of the delay" value="b" />
+<infoparam name="guard 3" value="[ ]" />
 </SUBCOMPONENT>
 
-<COMPONENT type="1012" id="487" >
-<cdparam x="557" y="712" />
+<COMPONENT type="1012" id="573" >
+<cdparam x="359" y="192" />
 <sizeparam width="30" height="30" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="choice" value="null" />
-<TGConnectingPoint num="0" id="483" />
-<TGConnectingPoint num="1" id="484" />
-<TGConnectingPoint num="2" id="485" />
-<TGConnectingPoint num="3" id="486" />
+<TGConnectingPoint num="0" id="569" />
+<TGConnectingPoint num="1" id="570" />
+<TGConnectingPoint num="2" id="571" />
+<TGConnectingPoint num="3" id="572" />
 </COMPONENT>
-<SUBCOMPONENT type="-1" id="480" >
-<father id="487" num="0" />
-<cdparam x="482" y="747" />
-<sizeparam width="120" height="15" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<SUBCOMPONENT type="-1" id="566" >
+<father id="573" num="0" />
+<cdparam x="317" y="202" />
+<sizeparam width="81" height="15" minWidth="10" minHeight="0" 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="[ tcpctrl.state == 1 ]" />
+<infoparam name="guard 1" value="[ tcpctrl.a&gt;0 ]" />
 </SUBCOMPONENT>
-<SUBCOMPONENT type="-1" id="481" >
-<father id="487" num="1" />
-<cdparam x="592" y="722" />
-<sizeparam width="39" height="15" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<SUBCOMPONENT type="-1" id="567" >
+<father id="573" num="1" />
+<cdparam x="394" y="202" />
+<sizeparam width="91" height="15" minWidth="10" minHeight="0" 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="[ else ]" />
+<infoparam name="guard 2" value="[ tcpctrl.a==0 ]" />
 </SUBCOMPONENT>
-<SUBCOMPONENT type="-1" id="482" >
-<father id="487" num="2" />
-<cdparam x="577" y="757" />
+<SUBCOMPONENT type="-1" id="568" >
+<father id="573" num="2" />
+<cdparam x="379" y="237" />
 <sizeparam width="12" height="15" minWidth="10" minHeight="0" 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="1013" id="491" >
-<cdparam x="717" y="694" />
-<sizeparam width="10" height="30" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<hidden value="false" />
-<cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
-<infoparam name="execI" value="null" />
-<TGConnectingPoint num="0" id="489" />
-<TGConnectingPoint num="1" id="490" />
-</COMPONENT>
-<SUBCOMPONENT type="-1" id="488" >
-<father id="491" num="0" />
-<cdparam x="732" y="714" />
-<sizeparam width="8" height="15" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<hidden value="false" />
-<cdrectangleparam minX="-75" maxX="30" minY="10" maxY="30" />
-<infoparam name="value of the delay" value="b" />
-</SUBCOMPONENT>
-
-<COMPONENT type="1013" id="495" >
-<cdparam x="938" y="1025" />
-<sizeparam width="10" height="30" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<hidden value="false" />
-<cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
-<infoparam name="execI" value="null" />
-<TGConnectingPoint num="0" id="493" />
-<TGConnectingPoint num="1" id="494" />
-</COMPONENT>
-<SUBCOMPONENT type="-1" id="492" >
-<father id="495" num="0" />
-<cdparam x="953" y="1045" />
-<sizeparam width="8" height="15" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<hidden value="false" />
-<cdrectangleparam minX="-75" maxX="30" minY="10" maxY="30" />
-<infoparam name="value of the delay" value="b" />
-</SUBCOMPONENT>
-
-<COMPONENT type="1012" id="503" >
-<cdparam x="1034" y="939" />
+<COMPONENT type="1012" id="581" >
+<cdparam x="449" y="582" />
 <sizeparam width="30" height="30" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="choice" value="null" />
-<TGConnectingPoint num="0" id="499" />
-<TGConnectingPoint num="1" id="500" />
-<TGConnectingPoint num="2" id="501" />
-<TGConnectingPoint num="3" id="502" />
+<TGConnectingPoint num="0" id="577" />
+<TGConnectingPoint num="1" id="578" />
+<TGConnectingPoint num="2" id="579" />
+<TGConnectingPoint num="3" id="580" />
 </COMPONENT>
-<SUBCOMPONENT type="-1" id="496" >
-<father id="503" num="0" />
-<cdparam x="959" y="974" />
+<SUBCOMPONENT type="-1" id="574" >
+<father id="581" num="0" />
+<cdparam x="404" y="592" />
 <sizeparam width="116" height="15" minWidth="10" minHeight="0" 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="[ tcpctrl.state ==4 ]" />
+<infoparam name="guard 1" value="[ tcpctrl.state ==9 ]" />
 </SUBCOMPONENT>
-<SUBCOMPONENT type="-1" id="497" >
-<father id="503" num="1" />
-<cdparam x="1070" y="949" />
+<SUBCOMPONENT type="-1" id="575" >
+<father id="581" num="1" />
+<cdparam x="500" y="599" />
 <sizeparam width="39" height="15" minWidth="10" minHeight="0" 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="[ else ]" />
 </SUBCOMPONENT>
-<SUBCOMPONENT type="-1" id="498" >
-<father id="503" num="2" />
-<cdparam x="1054" y="984" />
-<sizeparam width="116" height="15" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<SUBCOMPONENT type="-1" id="576" >
+<father id="581" num="2" />
+<cdparam x="469" y="627" />
+<sizeparam width="252" height="15" minWidth="10" minHeight="0" 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="[ tcpctrl.state == 5]" />
-</SUBCOMPONENT>
-
-<COMPONENT type="1013" id="507" >
-<cdparam x="795" y="1009" />
-<sizeparam width="10" height="30" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<hidden value="false" />
-<cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
-<infoparam name="execI" value="null" />
-<TGConnectingPoint num="0" id="505" />
-<TGConnectingPoint num="1" id="506" />
-</COMPONENT>
-<SUBCOMPONENT type="-1" id="504" >
-<father id="507" num="0" />
-<cdparam x="818" y="1031" />
-<sizeparam width="8" height="15" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<hidden value="false" />
-<cdrectangleparam minX="-75" maxX="30" minY="10" maxY="30" />
-<infoparam name="value of the delay" value="b" />
+<infoparam name="guard 3" value="[ (tcpctrl.state ==2) or (tcpctrl.state ==4) ]" />
 </SUBCOMPONENT>
 
-<COMPONENT type="1012" id="515" >
-<cdparam x="828" y="869" />
+<COMPONENT type="1012" id="589" >
+<cdparam x="274" y="564" />
 <sizeparam width="30" height="30" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="choice" value="null" />
-<TGConnectingPoint num="0" id="511" />
-<TGConnectingPoint num="1" id="512" />
-<TGConnectingPoint num="2" id="513" />
-<TGConnectingPoint num="3" id="514" />
+<TGConnectingPoint num="0" id="585" />
+<TGConnectingPoint num="1" id="586" />
+<TGConnectingPoint num="2" id="587" />
+<TGConnectingPoint num="3" id="588" />
 </COMPONENT>
-<SUBCOMPONENT type="-1" id="508" >
-<father id="515" num="0" />
-<cdparam x="753" y="885" />
+<SUBCOMPONENT type="-1" id="582" >
+<father id="589" num="0" />
+<cdparam x="228" y="574" />
 <sizeparam width="116" height="15" minWidth="10" minHeight="0" 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="[ tcpctrl.state ==0 ]" />
+<infoparam name="guard 1" value="[ tcpctrl.state == 1]" />
 </SUBCOMPONENT>
-<SUBCOMPONENT type="-1" id="509" >
-<father id="515" num="1" />
-<cdparam x="863" y="879" />
+<SUBCOMPONENT type="-1" id="583" >
+<father id="589" num="1" />
+<cdparam x="317" y="584" />
 <sizeparam width="39" height="15" minWidth="10" minHeight="0" 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="[ else ]" />
 </SUBCOMPONENT>
-<SUBCOMPONENT type="-1" id="510" >
-<father id="515" num="2" />
-<cdparam x="848" y="914" />
-<sizeparam width="112" height="15" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<SUBCOMPONENT type="-1" id="584" >
+<father id="589" num="2" />
+<cdparam x="306" y="616" />
+<sizeparam width="116" height="15" minWidth="10" minHeight="0" 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="[ tcpctrl.state==0 ]" />
+<infoparam name="guard 3" value="[ tcpctrl.state ==4 ]" />
 </SUBCOMPONENT>
 
-<COMPONENT type="1013" id="519" >
-<cdparam x="341" y="764" />
-<sizeparam width="10" height="30" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<COMPONENT type="1000" id="591" >
+<cdparam x="227" y="27" />
+<sizeparam width="15" height="15" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
-<infoparam name="execI" value="null" />
-<TGConnectingPoint num="0" id="517" />
-<TGConnectingPoint num="1" id="518" />
+<infoparam name="start state" value="null" />
+<TGConnectingPoint num="0" id="590" />
 </COMPONENT>
-<SUBCOMPONENT type="-1" id="516" >
-<father id="519" num="0" />
-<cdparam x="354" y="785" />
-<sizeparam width="8" height="15" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<hidden value="false" />
-<cdrectangleparam minX="-75" maxX="30" minY="10" maxY="30" />
-<infoparam name="value of the delay" value="b" />
-</SUBCOMPONENT>
 
-<COMPONENT type="1013" id="523" >
-<cdparam x="127" y="794" />
-<sizeparam width="10" height="30" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<COMPONENT type="301" id="608" >
+<cdparam x="10" y="30" />
+<sizeparam width="92" height="135" minWidth="50" minHeight="20" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
-<infoparam name="execI" value="null" />
-<TGConnectingPoint num="0" id="521" />
-<TGConnectingPoint num="1" id="522" />
+<infoparam name="UML Note" value="0: closed
+1: Listen
+2: SYN rcvd
+3: SYN sent
+4: Estab
+5: Fin wait1
+6: Fin wait2
+7: closing
+8: Time wait
+9: close wait
+10:last ack
+" />
+<TGConnectingPoint num="0" id="592" />
+<TGConnectingPoint num="1" id="593" />
+<TGConnectingPoint num="2" id="594" />
+<TGConnectingPoint num="3" id="595" />
+<TGConnectingPoint num="4" id="596" />
+<TGConnectingPoint num="5" id="597" />
+<TGConnectingPoint num="6" id="598" />
+<TGConnectingPoint num="7" id="599" />
+<TGConnectingPoint num="8" id="600" />
+<TGConnectingPoint num="9" id="601" />
+<TGConnectingPoint num="10" id="602" />
+<TGConnectingPoint num="11" id="603" />
+<TGConnectingPoint num="12" id="604" />
+<TGConnectingPoint num="13" id="605" />
+<TGConnectingPoint num="14" id="606" />
+<TGConnectingPoint num="15" id="607" />
+<extraparam>
+<Line value="0: closed" />
+<Line value="1: Listen" />
+<Line value="2: SYN rcvd" />
+<Line value="3: SYN sent" />
+<Line value="4: Estab" />
+<Line value="5: Fin wait1" />
+<Line value="6: Fin wait2" />
+<Line value="7: closing" />
+<Line value="8: Time wait" />
+<Line value="9: close wait" />
+<Line value="10:last ack" />
+</extraparam>
 </COMPONENT>
-<SUBCOMPONENT type="-1" id="520" >
-<father id="523" num="0" />
-<cdparam x="146" y="818" />
-<sizeparam width="8" height="15" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<hidden value="false" />
-<cdrectangleparam minX="-75" maxX="30" minY="10" maxY="30" />
-<infoparam name="value of the delay" value="b" />
-</SUBCOMPONENT>
 
-<COMPONENT type="1012" id="531" >
-<cdparam x="993" y="780" />
-<sizeparam width="30" height="30" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<COMPONENT type="1011" id="611" >
+<cdparam x="98" y="549" />
+<sizeparam width="100" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
-<infoparam name="choice" value="null" />
-<TGConnectingPoint num="0" id="527" />
-<TGConnectingPoint num="1" id="528" />
-<TGConnectingPoint num="2" id="529" />
-<TGConnectingPoint num="3" id="530" />
+<infoparam name="action state" value="tcpctrl.state =1" />
+<TGConnectingPoint num="0" id="609" />
+<TGConnectingPoint num="1" id="610" />
 </COMPONENT>
-<SUBCOMPONENT type="-1" id="524" >
-<father id="531" num="0" />
-<cdparam x="949" y="793" />
-<sizeparam width="12" height="15" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+
+<COMPONENT type="1001" id="613" >
+<cdparam x="138" y="615" />
+<sizeparam width="20" height="20" minWidth="0" minHeight="0" 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="525" >
-<father id="531" num="1" />
-<cdparam x="1028" y="790" />
-<sizeparam width="12" height="15" minWidth="10" minHeight="0" 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="526" >
-<father id="531" num="2" />
-<cdparam x="1013" y="825" />
-<sizeparam width="12" height="15" minWidth="10" minHeight="0" 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="1013" id="535" >
-<cdparam x="1003" y="701" />
-<sizeparam width="10" height="30" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<hidden value="false" />
-<cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
-<infoparam name="execI" value="null" />
-<TGConnectingPoint num="0" id="533" />
-<TGConnectingPoint num="1" id="534" />
-</COMPONENT>
-<SUBCOMPONENT type="-1" id="532" >
-<father id="535" num="0" />
-<cdparam x="1018" y="721" />
-<sizeparam width="8" height="15" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<hidden value="false" />
-<cdrectangleparam minX="-75" maxX="30" minY="10" maxY="30" />
-<infoparam name="value of the delay" value="b" />
-</SUBCOMPONENT>
-
-<COMPONENT type="1013" id="539" >
-<cdparam x="459" y="783" />
-<sizeparam width="10" height="30" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<hidden value="false" />
-<cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
-<infoparam name="execI" value="null" />
-<TGConnectingPoint num="0" id="537" />
-<TGConnectingPoint num="1" id="538" />
-</COMPONENT>
-<SUBCOMPONENT type="-1" id="536" >
-<father id="539" num="0" />
-<cdparam x="474" y="802" />
-<sizeparam width="8" height="15" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<hidden value="false" />
-<cdrectangleparam minX="-75" maxX="30" minY="10" maxY="30" />
-<infoparam name="value of the delay" value="b" />
-</SUBCOMPONENT>
-
-<COMPONENT type="1013" id="543" >
-<cdparam x="225" y="863" />
-<sizeparam width="10" height="30" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<hidden value="false" />
-<cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
-<infoparam name="execI" value="null" />
-<TGConnectingPoint num="0" id="541" />
-<TGConnectingPoint num="1" id="542" />
-</COMPONENT>
-<SUBCOMPONENT type="-1" id="540" >
-<father id="543" num="0" />
-<cdparam x="245" y="885" />
-<sizeparam width="8" height="15" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<hidden value="false" />
-<cdrectangleparam minX="-75" maxX="30" minY="10" maxY="30" />
-<infoparam name="value of the delay" value="b" />
-</SUBCOMPONENT>
-
-<COMPONENT type="1013" id="547" >
-<cdparam x="1044" y="1057" />
-<sizeparam width="10" height="30" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<hidden value="false" />
-<cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
-<infoparam name="execI" value="null" />
-<TGConnectingPoint num="0" id="545" />
-<TGConnectingPoint num="1" id="546" />
-</COMPONENT>
-<SUBCOMPONENT type="-1" id="544" >
-<father id="547" num="0" />
-<cdparam x="1059" y="1077" />
-<sizeparam width="8" height="15" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<hidden value="false" />
-<cdrectangleparam minX="-75" maxX="30" minY="10" maxY="30" />
-<infoparam name="value of the delay" value="b" />
-</SUBCOMPONENT>
-
-<COMPONENT type="1012" id="555" >
-<cdparam x="173" y="486" />
-<sizeparam width="30" height="30" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<hidden value="false" />
-<cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
-<infoparam name="choice" value="null" />
-<TGConnectingPoint num="0" id="551" />
-<TGConnectingPoint num="1" id="552" />
-<TGConnectingPoint num="2" id="553" />
-<TGConnectingPoint num="3" id="554" />
-</COMPONENT>
-<SUBCOMPONENT type="-1" id="548" >
-<father id="555" num="0" />
-<cdparam x="98" y="496" />
-<sizeparam width="112" height="15" minWidth="10" minHeight="0" 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="[ tcpctrl.state==0 ]" />
-</SUBCOMPONENT>
-<SUBCOMPONENT type="-1" id="549" >
-<father id="555" num="1" />
-<cdparam x="208" y="496" />
-<sizeparam width="39" height="15" minWidth="10" minHeight="0" 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="[ else ]" />
-</SUBCOMPONENT>
-<SUBCOMPONENT type="-1" id="550" >
-<father id="555" num="2" />
-<cdparam x="193" y="531" />
-<sizeparam width="12" height="15" minWidth="10" minHeight="0" 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="1012" id="563" >
-<cdparam x="359" y="192" />
-<sizeparam width="30" height="30" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<hidden value="false" />
-<cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
-<infoparam name="choice" value="null" />
-<TGConnectingPoint num="0" id="559" />
-<TGConnectingPoint num="1" id="560" />
-<TGConnectingPoint num="2" id="561" />
-<TGConnectingPoint num="3" id="562" />
-</COMPONENT>
-<SUBCOMPONENT type="-1" id="556" >
-<father id="563" num="0" />
-<cdparam x="317" y="202" />
-<sizeparam width="81" height="15" minWidth="10" minHeight="0" 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="[ tcpctrl.a&gt;0 ]" />
-</SUBCOMPONENT>
-<SUBCOMPONENT type="-1" id="557" >
-<father id="563" num="1" />
-<cdparam x="394" y="202" />
-<sizeparam width="91" height="15" minWidth="10" minHeight="0" 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="[ tcpctrl.a==0 ]" />
-</SUBCOMPONENT>
-<SUBCOMPONENT type="-1" id="558" >
-<father id="563" num="2" />
-<cdparam x="379" y="237" />
-<sizeparam width="12" height="15" minWidth="10" minHeight="0" 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="1012" id="571" >
-<cdparam x="449" y="582" />
-<sizeparam width="30" height="30" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<hidden value="false" />
-<cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
-<infoparam name="choice" value="null" />
-<TGConnectingPoint num="0" id="567" />
-<TGConnectingPoint num="1" id="568" />
-<TGConnectingPoint num="2" id="569" />
-<TGConnectingPoint num="3" id="570" />
-</COMPONENT>
-<SUBCOMPONENT type="-1" id="564" >
-<father id="571" num="0" />
-<cdparam x="404" y="592" />
-<sizeparam width="116" height="15" minWidth="10" minHeight="0" 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="[ tcpctrl.state ==9 ]" />
-</SUBCOMPONENT>
-<SUBCOMPONENT type="-1" id="565" >
-<father id="571" num="1" />
-<cdparam x="500" y="599" />
-<sizeparam width="39" height="15" minWidth="10" minHeight="0" 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="[ else ]" />
-</SUBCOMPONENT>
-<SUBCOMPONENT type="-1" id="566" >
-<father id="571" num="2" />
-<cdparam x="469" y="627" />
-<sizeparam width="252" height="15" minWidth="10" minHeight="0" 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="[ (tcpctrl.state ==2) or (tcpctrl.state ==4) ]" />
-</SUBCOMPONENT>
-
-<COMPONENT type="1012" id="579" >
-<cdparam x="274" y="564" />
-<sizeparam width="30" height="30" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<hidden value="false" />
-<cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
-<infoparam name="choice" value="null" />
-<TGConnectingPoint num="0" id="575" />
-<TGConnectingPoint num="1" id="576" />
-<TGConnectingPoint num="2" id="577" />
-<TGConnectingPoint num="3" id="578" />
-</COMPONENT>
-<SUBCOMPONENT type="-1" id="572" >
-<father id="579" num="0" />
-<cdparam x="228" y="574" />
-<sizeparam width="116" height="15" minWidth="10" minHeight="0" 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="[ tcpctrl.state == 1]" />
-</SUBCOMPONENT>
-<SUBCOMPONENT type="-1" id="573" >
-<father id="579" num="1" />
-<cdparam x="317" y="584" />
-<sizeparam width="39" height="15" minWidth="10" minHeight="0" 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="[ else ]" />
-</SUBCOMPONENT>
-<SUBCOMPONENT type="-1" id="574" >
-<father id="579" num="2" />
-<cdparam x="306" y="616" />
-<sizeparam width="116" height="15" minWidth="10" minHeight="0" 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="[ tcpctrl.state ==4 ]" />
-</SUBCOMPONENT>
-
-<COMPONENT type="1000" id="581" >
-<cdparam x="227" y="27" />
-<sizeparam width="15" height="15" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<hidden value="false" />
-<cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
-<infoparam name="start state" value="null" />
-<TGConnectingPoint num="0" id="580" />
-</COMPONENT>
-
-<COMPONENT type="301" id="598" >
-<cdparam x="10" y="30" />
-<sizeparam width="92" height="135" minWidth="50" minHeight="20" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<hidden value="false" />
-<cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
-<infoparam name="UML Note" value="0: closed
-1: Listen
-2: SYN rcvd
-3: SYN sent
-4: Estab
-5: Fin wait1
-6: Fin wait2
-7: closing
-8: Time wait
-9: close wait
-10:last ack
-" />
-<TGConnectingPoint num="0" id="582" />
-<TGConnectingPoint num="1" id="583" />
-<TGConnectingPoint num="2" id="584" />
-<TGConnectingPoint num="3" id="585" />
-<TGConnectingPoint num="4" id="586" />
-<TGConnectingPoint num="5" id="587" />
-<TGConnectingPoint num="6" id="588" />
-<TGConnectingPoint num="7" id="589" />
-<TGConnectingPoint num="8" id="590" />
-<TGConnectingPoint num="9" id="591" />
-<TGConnectingPoint num="10" id="592" />
-<TGConnectingPoint num="11" id="593" />
-<TGConnectingPoint num="12" id="594" />
-<TGConnectingPoint num="13" id="595" />
-<TGConnectingPoint num="14" id="596" />
-<TGConnectingPoint num="15" id="597" />
-<extraparam>
-<Line value="0: closed" />
-<Line value="1: Listen" />
-<Line value="2: SYN rcvd" />
-<Line value="3: SYN sent" />
-<Line value="4: Estab" />
-<Line value="5: Fin wait1" />
-<Line value="6: Fin wait2" />
-<Line value="7: closing" />
-<Line value="8: Time wait" />
-<Line value="9: close wait" />
-<Line value="10:last ack" />
-</extraparam>
-</COMPONENT>
-
-<COMPONENT type="1011" id="601" >
-<cdparam x="98" y="549" />
-<sizeparam width="100" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<hidden value="false" />
-<cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
-<infoparam name="action state" value="tcpctrl.state =1" />
-<TGConnectingPoint num="0" id="599" />
-<TGConnectingPoint num="1" id="600" />
-</COMPONENT>
-
-<COMPONENT type="1001" id="603" >
-<cdparam x="138" y="615" />
-<sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<hidden value="false" />
-<cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
-<infoparam name="stop state" value="null" />
-<TGConnectingPoint num="0" id="602" />
-</COMPONENT>
-
-<COMPONENT type="1009" id="606" >
-<cdparam x="967" y="585" />
-<sizeparam width="83" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
+<infoparam name="stop state" value="null" />
+<TGConnectingPoint num="0" id="612" />
+</COMPONENT>
+
+<COMPONENT type="1009" id="616" >
+<cdparam x="967" y="585" />
+<sizeparam width="83" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="read channel" value="fromPtoT(1) " />
-<TGConnectingPoint num="0" id="604" />
-<TGConnectingPoint num="1" id="605" />
+<TGConnectingPoint num="0" id="614" />
+<TGConnectingPoint num="1" id="615" />
 <extraparam>
 <Data channelName="fromPtoT" nbOfSamples="1" secPattern="" isAttacker="No" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1014" id="610" >
+<COMPONENT type="1014" id="620" >
 <cdparam x="150" y="85" />
 <sizeparam width="170" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="for loop" value="for(i=0;(tcpctrl.a==0);i = i)" />
-<TGConnectingPoint num="0" id="607" />
-<TGConnectingPoint num="1" id="608" />
-<TGConnectingPoint num="2" id="609" />
+<TGConnectingPoint num="0" id="617" />
+<TGConnectingPoint num="1" id="618" />
+<TGConnectingPoint num="2" id="619" />
 <extraparam>
 <Data init="i=0" condition="(tcpctrl.a==0)" increment="i = i" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1001" id="612" >
+<COMPONENT type="1001" id="622" >
 <cdparam x="225" y="207" />
 <sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="stop state" value="null" />
-<TGConnectingPoint num="0" id="611" />
+<TGConnectingPoint num="0" id="621" />
 </COMPONENT>
 
-<COMPONENT type="1011" id="615" >
+<COMPONENT type="1011" id="625" >
 <cdparam x="187" y="144" />
 <sizeparam width="96" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="action state" value="tcpctrl.state=0" />
-<TGConnectingPoint num="0" id="613" />
-<TGConnectingPoint num="1" id="614" />
+<TGConnectingPoint num="0" id="623" />
+<TGConnectingPoint num="1" id="624" />
 </COMPONENT>
 
-<COMPONENT type="1017" id="618" >
+<COMPONENT type="1017" id="628" >
 <cdparam x="316" y="133" />
 <sizeparam width="116" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="notified event" value="tcpctrl.a=?abort()" />
-<TGConnectingPoint num="0" id="616" />
-<TGConnectingPoint num="1" id="617" />
+<TGConnectingPoint num="0" id="626" />
+<TGConnectingPoint num="1" id="627" />
 <extraparam>
 <Data eventName="abort" variable="tcpctrl.a" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1009" id="621" >
+<COMPONENT type="1009" id="631" >
 <cdparam x="692" y="589" />
 <sizeparam width="60" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="read channel" value="temp(1) " />
-<TGConnectingPoint num="0" id="619" />
-<TGConnectingPoint num="1" id="620" />
+<TGConnectingPoint num="0" id="629" />
+<TGConnectingPoint num="1" id="630" />
 <extraparam>
 <Data channelName="temp" nbOfSamples="1" secPattern="" isAttacker="No" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1010" id="624" >
+<COMPONENT type="1010" id="634" >
 <cdparam x="689" y="534" />
 <sizeparam width="67" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="wait event" value="timeOut() " />
-<TGConnectingPoint num="0" id="622" />
-<TGConnectingPoint num="1" id="623" />
+<TGConnectingPoint num="0" id="632" />
+<TGConnectingPoint num="1" id="633" />
 <extraparam>
 <Data eventName="timeOut" nbOfParams="5" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1010" id="627" >
+<COMPONENT type="1010" id="637" >
 <cdparam x="977" y="528" />
 <sizeparam width="63" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="wait event" value="receive() " />
-<TGConnectingPoint num="0" id="625" />
-<TGConnectingPoint num="1" id="626" />
+<TGConnectingPoint num="0" id="635" />
+<TGConnectingPoint num="1" id="636" />
 <extraparam>
 <Data eventName="receive" nbOfParams="5" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1010" id="630" >
+<COMPONENT type="1010" id="640" >
 <cdparam x="439" y="492" />
 <sizeparam width="51" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="wait event" value="close() " />
-<TGConnectingPoint num="0" id="628" />
-<TGConnectingPoint num="1" id="629" />
+<TGConnectingPoint num="0" id="638" />
+<TGConnectingPoint num="1" id="639" />
 <extraparam>
 <Data eventName="close" nbOfParams="5" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1010" id="633" >
+<COMPONENT type="1010" id="643" >
 <cdparam x="250" y="468" />
 <sizeparam width="79" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="wait event" value="send_TCP() " />
-<TGConnectingPoint num="0" id="631" />
-<TGConnectingPoint num="1" id="632" />
+<TGConnectingPoint num="0" id="641" />
+<TGConnectingPoint num="1" id="642" />
 <extraparam>
 <Data eventName="send_TCP" nbOfParams="5" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1010" id="636" >
+<COMPONENT type="1010" id="646" >
 <cdparam x="163" y="383" />
 <sizeparam width="51" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="wait event" value="open() " />
-<TGConnectingPoint num="0" id="634" />
-<TGConnectingPoint num="1" id="635" />
+<TGConnectingPoint num="0" id="644" />
+<TGConnectingPoint num="1" id="645" />
 <breakpoint />
 <extraparam>
 <Data eventName="open" nbOfParams="5" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1018" id="647" >
+<COMPONENT type="1018" id="657" >
 <cdparam x="449" y="267" />
 <sizeparam width="30" height="30" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="select" value="null" />
-<TGConnectingPoint num="0" id="637" />
-<TGConnectingPoint num="1" id="638" />
-<TGConnectingPoint num="2" id="639" />
-<TGConnectingPoint num="3" id="640" />
-<TGConnectingPoint num="4" id="641" />
-<TGConnectingPoint num="5" id="642" />
-<TGConnectingPoint num="6" id="643" />
-<TGConnectingPoint num="7" id="644" />
-<TGConnectingPoint num="8" id="645" />
-<TGConnectingPoint num="9" id="646" />
+<TGConnectingPoint num="0" id="647" />
+<TGConnectingPoint num="1" id="648" />
+<TGConnectingPoint num="2" id="649" />
+<TGConnectingPoint num="3" id="650" />
+<TGConnectingPoint num="4" id="651" />
+<TGConnectingPoint num="5" id="652" />
+<TGConnectingPoint num="6" id="653" />
+<TGConnectingPoint num="7" id="654" />
+<TGConnectingPoint num="8" id="655" />
+<TGConnectingPoint num="9" id="656" />
 <breakpoint />
 </COMPONENT>
 
-<COMPONENT type="1001" id="649" >
+<COMPONENT type="1001" id="659" >
 <cdparam x="218" y="529" />
 <sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="stop state" value="null" />
-<TGConnectingPoint num="0" id="648" />
+<TGConnectingPoint num="0" id="658" />
 </COMPONENT>
 
-<COMPONENT type="1001" id="651" >
+<COMPONENT type="1001" id="661" >
 <cdparam x="319" y="614" />
 <sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="stop state" value="null" />
-<TGConnectingPoint num="0" id="650" />
+<TGConnectingPoint num="0" id="660" />
 </COMPONENT>
 
-<COMPONENT type="1010" id="654" >
+<COMPONENT type="1010" id="664" >
 <cdparam x="275" y="228" />
 <sizeparam width="53" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="wait event" value="abort() " />
-<TGConnectingPoint num="0" id="652" />
-<TGConnectingPoint num="1" id="653" />
+<TGConnectingPoint num="0" id="662" />
+<TGConnectingPoint num="1" id="663" />
 <extraparam>
 <Data eventName="abort" nbOfParams="5" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1001" id="656" >
+<COMPONENT type="1001" id="666" >
 <cdparam x="291" y="290" />
 <sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="stop state" value="null" />
-<TGConnectingPoint num="0" id="655" />
+<TGConnectingPoint num="0" id="665" />
 </COMPONENT>
 
-<COMPONENT type="301" id="673" >
+<COMPONENT type="301" id="683" >
 <cdparam x="602" y="86" />
 <sizeparam width="360" height="51" minWidth="50" minHeight="20" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
@@ -3383,22 +3030,22 @@ ou depaquitiser un paquet TCP
 
 On prend b=1 comme exemple
 " />
-<TGConnectingPoint num="0" id="657" />
-<TGConnectingPoint num="1" id="658" />
-<TGConnectingPoint num="2" id="659" />
-<TGConnectingPoint num="3" id="660" />
-<TGConnectingPoint num="4" id="661" />
-<TGConnectingPoint num="5" id="662" />
-<TGConnectingPoint num="6" id="663" />
-<TGConnectingPoint num="7" id="664" />
-<TGConnectingPoint num="8" id="665" />
-<TGConnectingPoint num="9" id="666" />
-<TGConnectingPoint num="10" id="667" />
-<TGConnectingPoint num="11" id="668" />
-<TGConnectingPoint num="12" id="669" />
-<TGConnectingPoint num="13" id="670" />
-<TGConnectingPoint num="14" id="671" />
-<TGConnectingPoint num="15" id="672" />
+<TGConnectingPoint num="0" id="667" />
+<TGConnectingPoint num="1" id="668" />
+<TGConnectingPoint num="2" id="669" />
+<TGConnectingPoint num="3" id="670" />
+<TGConnectingPoint num="4" id="671" />
+<TGConnectingPoint num="5" id="672" />
+<TGConnectingPoint num="6" id="673" />
+<TGConnectingPoint num="7" id="674" />
+<TGConnectingPoint num="8" id="675" />
+<TGConnectingPoint num="9" id="676" />
+<TGConnectingPoint num="10" id="677" />
+<TGConnectingPoint num="11" id="678" />
+<TGConnectingPoint num="12" id="679" />
+<TGConnectingPoint num="13" id="680" />
+<TGConnectingPoint num="14" id="681" />
+<TGConnectingPoint num="15" id="682" />
 <extraparam>
 <Line value="b est le nombre d&apos;instructions necessaires pour paquetiser" />
 <Line value="ou depaquitiser un paquet TCP" />
@@ -3407,2978 +3054,3438 @@ On prend b=1 comme exemple
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1009" id="676" >
+<COMPONENT type="1009" id="686" >
 <cdparam x="188" y="808" />
 <sizeparam width="84" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="read channel" value="fromAtoT(1) " />
-<TGConnectingPoint num="0" id="674" />
-<TGConnectingPoint num="1" id="675" />
+<TGConnectingPoint num="0" id="684" />
+<TGConnectingPoint num="1" id="685" />
 <extraparam>
 <Data channelName="fromAtoT" nbOfSamples="1" secPattern="" isAttacker="No" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1006" id="679" >
+<COMPONENT type="1006" id="689" >
 <cdparam x="191" y="1002" />
 <sizeparam width="79" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="write channel" value="fromTtoP(1)" />
-<TGConnectingPoint num="0" id="677" />
-<TGConnectingPoint num="1" id="678" />
+<TGConnectingPoint num="0" id="687" />
+<TGConnectingPoint num="1" id="688" />
 <extraparam>
 <Data channelName="fromTtoP" nbOfSamples="1" secPattern="" isAttacker="No" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1001" id="681" >
+<COMPONENT type="1001" id="691" >
 <cdparam x="220" y="1237" />
 <sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="stop state" value="null" />
-<TGConnectingPoint num="0" id="680" />
+<TGConnectingPoint num="0" id="690" />
 </COMPONENT>
 
-<COMPONENT type="1011" id="684" >
+<COMPONENT type="1011" id="694" >
 <cdparam x="414" y="1032" />
 <sizeparam width="100" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="action state" value="tcpctrl.state =5" />
-<TGConnectingPoint num="0" id="682" />
-<TGConnectingPoint num="1" id="683" />
+<TGConnectingPoint num="0" id="692" />
+<TGConnectingPoint num="1" id="693" />
 </COMPONENT>
 
-<COMPONENT type="1001" id="686" >
+<COMPONENT type="1001" id="696" >
 <cdparam x="454" y="1213" />
 <sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="stop state" value="null" />
-<TGConnectingPoint num="0" id="685" />
+<TGConnectingPoint num="0" id="695" />
 </COMPONENT>
 
-<COMPONENT type="1011" id="689" >
+<COMPONENT type="1011" id="699" >
 <cdparam x="84" y="1041" />
 <sizeparam width="96" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="action state" value="tcpctrl.state=3" />
-<TGConnectingPoint num="0" id="687" />
-<TGConnectingPoint num="1" id="688" />
+<TGConnectingPoint num="0" id="697" />
+<TGConnectingPoint num="1" id="698" />
 </COMPONENT>
 
-<COMPONENT type="1006" id="692" >
+<COMPONENT type="1006" id="702" >
 <cdparam x="93" y="938" />
 <sizeparam width="79" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="write channel" value="fromTtoP(1)" />
-<TGConnectingPoint num="0" id="690" />
-<TGConnectingPoint num="1" id="691" />
+<TGConnectingPoint num="0" id="700" />
+<TGConnectingPoint num="1" id="701" />
 <extraparam>
 <Data channelName="fromTtoP" nbOfSamples="1" secPattern="" isAttacker="No" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1011" id="695" >
+<COMPONENT type="1011" id="705" >
 <cdparam x="292" y="1026" />
 <sizeparam width="108" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="action state" value="tcpctrl.state =10" />
-<TGConnectingPoint num="0" id="693" />
-<TGConnectingPoint num="1" id="694" />
+<TGConnectingPoint num="0" id="703" />
+<TGConnectingPoint num="1" id="704" />
 </COMPONENT>
 
-<COMPONENT type="1001" id="697" >
+<COMPONENT type="1001" id="707" >
 <cdparam x="336" y="1229" />
 <sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="stop state" value="null" />
-<TGConnectingPoint num="0" id="696" />
+<TGConnectingPoint num="0" id="706" />
 </COMPONENT>
 
-<COMPONENT type="1006" id="700" >
+<COMPONENT type="1006" id="710" >
 <cdparam x="425" y="941" />
 <sizeparam width="79" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="write channel" value="fromTtoP(1)" />
-<TGConnectingPoint num="0" id="698" />
-<TGConnectingPoint num="1" id="699" />
+<TGConnectingPoint num="0" id="708" />
+<TGConnectingPoint num="1" id="709" />
 <extraparam>
 <Data channelName="fromTtoP" nbOfSamples="1" secPattern="" isAttacker="No" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1006" id="703" >
+<COMPONENT type="1006" id="713" >
 <cdparam x="307" y="900" />
 <sizeparam width="79" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="write channel" value="fromTtoP(1)" />
-<TGConnectingPoint num="0" id="701" />
-<TGConnectingPoint num="1" id="702" />
+<TGConnectingPoint num="0" id="711" />
+<TGConnectingPoint num="1" id="712" />
 <extraparam>
 <Data channelName="fromTtoP" nbOfSamples="1" secPattern="" isAttacker="No" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1001" id="705" >
+<COMPONENT type="1001" id="715" >
 <cdparam x="790" y="1270" />
 <sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="stop state" value="null" />
-<TGConnectingPoint num="0" id="704" />
+<TGConnectingPoint num="0" id="714" />
 </COMPONENT>
 
-<COMPONENT type="301" id="722" >
+<COMPONENT type="301" id="732" >
 <cdparam x="998" y="850" />
 <sizeparam width="50" height="15" minWidth="50" minHeight="20" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
-<infoparam name="UML Note" value="Final" />
-<TGConnectingPoint num="0" id="706" />
-<TGConnectingPoint num="1" id="707" />
-<TGConnectingPoint num="2" id="708" />
-<TGConnectingPoint num="3" id="709" />
-<TGConnectingPoint num="4" id="710" />
-<TGConnectingPoint num="5" id="711" />
-<TGConnectingPoint num="6" id="712" />
-<TGConnectingPoint num="7" id="713" />
-<TGConnectingPoint num="8" id="714" />
-<TGConnectingPoint num="9" id="715" />
-<TGConnectingPoint num="10" id="716" />
-<TGConnectingPoint num="11" id="717" />
-<TGConnectingPoint num="12" id="718" />
-<TGConnectingPoint num="13" id="719" />
-<TGConnectingPoint num="14" id="720" />
-<TGConnectingPoint num="15" id="721" />
+<infoparam name="UML Note" value="Final
+" />
+<TGConnectingPoint num="0" id="716" />
+<TGConnectingPoint num="1" id="717" />
+<TGConnectingPoint num="2" id="718" />
+<TGConnectingPoint num="3" id="719" />
+<TGConnectingPoint num="4" id="720" />
+<TGConnectingPoint num="5" id="721" />
+<TGConnectingPoint num="6" id="722" />
+<TGConnectingPoint num="7" id="723" />
+<TGConnectingPoint num="8" id="724" />
+<TGConnectingPoint num="9" id="725" />
+<TGConnectingPoint num="10" id="726" />
+<TGConnectingPoint num="11" id="727" />
+<TGConnectingPoint num="12" id="728" />
+<TGConnectingPoint num="13" id="729" />
+<TGConnectingPoint num="14" id="730" />
+<TGConnectingPoint num="15" id="731" />
 <extraparam>
 <Line value="Final" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1011" id="725" >
+<COMPONENT type="1011" id="735" >
 <cdparam x="678" y="965" />
 <sizeparam width="100" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="action state" value="tcpctrl.state =1" />
-<TGConnectingPoint num="0" id="723" />
-<TGConnectingPoint num="1" id="724" />
+<TGConnectingPoint num="0" id="733" />
+<TGConnectingPoint num="1" id="734" />
 </COMPONENT>
 
-<COMPONENT type="1001" id="727" >
+<COMPONENT type="1001" id="737" >
 <cdparam x="718" y="1032" />
 <sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="stop state" value="null" />
-<TGConnectingPoint num="0" id="726" />
+<TGConnectingPoint num="0" id="736" />
 </COMPONENT>
 
-<COMPONENT type="1006" id="730" >
+<COMPONENT type="1006" id="740" >
 <cdparam x="761" y="1086" />
 <sizeparam width="79" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="write channel" value="fromTtoP(1)" />
-<TGConnectingPoint num="0" id="728" />
-<TGConnectingPoint num="1" id="729" />
+<TGConnectingPoint num="0" id="738" />
+<TGConnectingPoint num="1" id="739" />
 <extraparam>
 <Data channelName="fromTtoP" nbOfSamples="1" secPattern="" isAttacker="No" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="301" id="747" >
+<COMPONENT type="301" id="757" >
 <cdparam x="781" y="950" />
 <sizeparam width="89" height="15" minWidth="50" minHeight="20" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="UML Note" value="Active Open
 " />
-<TGConnectingPoint num="0" id="731" />
-<TGConnectingPoint num="1" id="732" />
-<TGConnectingPoint num="2" id="733" />
-<TGConnectingPoint num="3" id="734" />
-<TGConnectingPoint num="4" id="735" />
-<TGConnectingPoint num="5" id="736" />
-<TGConnectingPoint num="6" id="737" />
-<TGConnectingPoint num="7" id="738" />
-<TGConnectingPoint num="8" id="739" />
-<TGConnectingPoint num="9" id="740" />
-<TGConnectingPoint num="10" id="741" />
-<TGConnectingPoint num="11" id="742" />
-<TGConnectingPoint num="12" id="743" />
-<TGConnectingPoint num="13" id="744" />
-<TGConnectingPoint num="14" id="745" />
-<TGConnectingPoint num="15" id="746" />
+<TGConnectingPoint num="0" id="741" />
+<TGConnectingPoint num="1" id="742" />
+<TGConnectingPoint num="2" id="743" />
+<TGConnectingPoint num="3" id="744" />
+<TGConnectingPoint num="4" id="745" />
+<TGConnectingPoint num="5" id="746" />
+<TGConnectingPoint num="6" id="747" />
+<TGConnectingPoint num="7" id="748" />
+<TGConnectingPoint num="8" id="749" />
+<TGConnectingPoint num="9" id="750" />
+<TGConnectingPoint num="10" id="751" />
+<TGConnectingPoint num="11" id="752" />
+<TGConnectingPoint num="12" id="753" />
+<TGConnectingPoint num="13" id="754" />
+<TGConnectingPoint num="14" id="755" />
+<TGConnectingPoint num="15" id="756" />
 <extraparam>
 <Line value="Active Open" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="301" id="764" >
+<COMPONENT type="301" id="774" >
 <cdparam x="715" y="907" />
 <sizeparam width="97" height="15" minWidth="50" minHeight="20" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="UML Note" value="Passive Open
 " />
-<TGConnectingPoint num="0" id="748" />
-<TGConnectingPoint num="1" id="749" />
-<TGConnectingPoint num="2" id="750" />
-<TGConnectingPoint num="3" id="751" />
-<TGConnectingPoint num="4" id="752" />
-<TGConnectingPoint num="5" id="753" />
-<TGConnectingPoint num="6" id="754" />
-<TGConnectingPoint num="7" id="755" />
-<TGConnectingPoint num="8" id="756" />
-<TGConnectingPoint num="9" id="757" />
-<TGConnectingPoint num="10" id="758" />
-<TGConnectingPoint num="11" id="759" />
-<TGConnectingPoint num="12" id="760" />
-<TGConnectingPoint num="13" id="761" />
-<TGConnectingPoint num="14" id="762" />
-<TGConnectingPoint num="15" id="763" />
+<TGConnectingPoint num="0" id="758" />
+<TGConnectingPoint num="1" id="759" />
+<TGConnectingPoint num="2" id="760" />
+<TGConnectingPoint num="3" id="761" />
+<TGConnectingPoint num="4" id="762" />
+<TGConnectingPoint num="5" id="763" />
+<TGConnectingPoint num="6" id="764" />
+<TGConnectingPoint num="7" id="765" />
+<TGConnectingPoint num="8" id="766" />
+<TGConnectingPoint num="9" id="767" />
+<TGConnectingPoint num="10" id="768" />
+<TGConnectingPoint num="11" id="769" />
+<TGConnectingPoint num="12" id="770" />
+<TGConnectingPoint num="13" id="771" />
+<TGConnectingPoint num="14" id="772" />
+<TGConnectingPoint num="15" id="773" />
 <extraparam>
 <Line value="Passive Open" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1011" id="767" >
+<COMPONENT type="1011" id="777" >
 <cdparam x="750" y="1193" />
 <sizeparam width="100" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="action state" value="tcpctrl.state =3" />
-<TGConnectingPoint num="0" id="765" />
-<TGConnectingPoint num="1" id="766" />
+<TGConnectingPoint num="0" id="775" />
+<TGConnectingPoint num="1" id="776" />
 </COMPONENT>
 
-<COMPONENT type="1011" id="770" >
+<COMPONENT type="1011" id="780" >
 <cdparam x="446" y="768" />
 <sizeparam width="100" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="action state" value="tcpctrl.state =0" />
-<TGConnectingPoint num="0" id="768" />
-<TGConnectingPoint num="1" id="769" />
+<TGConnectingPoint num="0" id="778" />
+<TGConnectingPoint num="1" id="779" />
 </COMPONENT>
 
-<COMPONENT type="1001" id="772" >
+<COMPONENT type="1001" id="782" >
 <cdparam x="486" y="830" />
 <sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="stop state" value="null" />
-<TGConnectingPoint num="0" id="771" />
+<TGConnectingPoint num="0" id="781" />
 </COMPONENT>
 
-<COMPONENT type="1006" id="775" >
+<COMPONENT type="1006" id="785" >
 <cdparam x="904" y="1123" />
 <sizeparam width="79" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="write channel" value="fromTtoP(1)" />
-<TGConnectingPoint num="0" id="773" />
-<TGConnectingPoint num="1" id="774" />
+<TGConnectingPoint num="0" id="783" />
+<TGConnectingPoint num="1" id="784" />
 <extraparam>
 <Data channelName="fromTtoP" nbOfSamples="1" secPattern="" isAttacker="No" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="301" id="792" >
+<COMPONENT type="301" id="802" >
 <cdparam x="884" y="1068" />
 <sizeparam width="108" height="15" minWidth="50" minHeight="20" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="UML Note" value="send Ack of Fin
 " />
-<TGConnectingPoint num="0" id="776" />
-<TGConnectingPoint num="1" id="777" />
-<TGConnectingPoint num="2" id="778" />
-<TGConnectingPoint num="3" id="779" />
-<TGConnectingPoint num="4" id="780" />
-<TGConnectingPoint num="5" id="781" />
-<TGConnectingPoint num="6" id="782" />
-<TGConnectingPoint num="7" id="783" />
-<TGConnectingPoint num="8" id="784" />
-<TGConnectingPoint num="9" id="785" />
-<TGConnectingPoint num="10" id="786" />
-<TGConnectingPoint num="11" id="787" />
-<TGConnectingPoint num="12" id="788" />
-<TGConnectingPoint num="13" id="789" />
-<TGConnectingPoint num="14" id="790" />
-<TGConnectingPoint num="15" id="791" />
+<TGConnectingPoint num="0" id="786" />
+<TGConnectingPoint num="1" id="787" />
+<TGConnectingPoint num="2" id="788" />
+<TGConnectingPoint num="3" id="789" />
+<TGConnectingPoint num="4" id="790" />
+<TGConnectingPoint num="5" id="791" />
+<TGConnectingPoint num="6" id="792" />
+<TGConnectingPoint num="7" id="793" />
+<TGConnectingPoint num="8" id="794" />
+<TGConnectingPoint num="9" id="795" />
+<TGConnectingPoint num="10" id="796" />
+<TGConnectingPoint num="11" id="797" />
+<TGConnectingPoint num="12" id="798" />
+<TGConnectingPoint num="13" id="799" />
+<TGConnectingPoint num="14" id="800" />
+<TGConnectingPoint num="15" id="801" />
 <extraparam>
 <Line value="send Ack of Fin" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1011" id="795" >
+<COMPONENT type="1011" id="805" >
 <cdparam x="893" y="1234" />
 <sizeparam width="100" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="action state" value="tcpctrl.state =9" />
-<TGConnectingPoint num="0" id="793" />
-<TGConnectingPoint num="1" id="794" />
+<TGConnectingPoint num="0" id="803" />
+<TGConnectingPoint num="1" id="804" />
 </COMPONENT>
 
-<COMPONENT type="1001" id="797" >
+<COMPONENT type="1001" id="807" >
 <cdparam x="933" y="1311" />
 <sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="stop state" value="null" />
-<TGConnectingPoint num="0" id="796" />
+<TGConnectingPoint num="0" id="806" />
 </COMPONENT>
 
-<COMPONENT type="1006" id="800" >
+<COMPONENT type="1006" id="810" >
 <cdparam x="1010" y="1155" />
 <sizeparam width="79" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="write channel" value="fromTtoP(1)" />
-<TGConnectingPoint num="0" id="798" />
-<TGConnectingPoint num="1" id="799" />
+<TGConnectingPoint num="0" id="808" />
+<TGConnectingPoint num="1" id="809" />
 <extraparam>
 <Data channelName="fromTtoP" nbOfSamples="1" secPattern="" isAttacker="No" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="301" id="817" >
+<COMPONENT type="301" id="827" >
 <cdparam x="1000" y="1094" />
 <sizeparam width="108" height="15" minWidth="50" minHeight="20" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="UML Note" value="send Ack of Fin
 " />
-<TGConnectingPoint num="0" id="801" />
-<TGConnectingPoint num="1" id="802" />
-<TGConnectingPoint num="2" id="803" />
-<TGConnectingPoint num="3" id="804" />
-<TGConnectingPoint num="4" id="805" />
-<TGConnectingPoint num="5" id="806" />
-<TGConnectingPoint num="6" id="807" />
-<TGConnectingPoint num="7" id="808" />
-<TGConnectingPoint num="8" id="809" />
-<TGConnectingPoint num="9" id="810" />
-<TGConnectingPoint num="10" id="811" />
-<TGConnectingPoint num="11" id="812" />
-<TGConnectingPoint num="12" id="813" />
-<TGConnectingPoint num="13" id="814" />
-<TGConnectingPoint num="14" id="815" />
-<TGConnectingPoint num="15" id="816" />
+<TGConnectingPoint num="0" id="811" />
+<TGConnectingPoint num="1" id="812" />
+<TGConnectingPoint num="2" id="813" />
+<TGConnectingPoint num="3" id="814" />
+<TGConnectingPoint num="4" id="815" />
+<TGConnectingPoint num="5" id="816" />
+<TGConnectingPoint num="6" id="817" />
+<TGConnectingPoint num="7" id="818" />
+<TGConnectingPoint num="8" id="819" />
+<TGConnectingPoint num="9" id="820" />
+<TGConnectingPoint num="10" id="821" />
+<TGConnectingPoint num="11" id="822" />
+<TGConnectingPoint num="12" id="823" />
+<TGConnectingPoint num="13" id="824" />
+<TGConnectingPoint num="14" id="825" />
+<TGConnectingPoint num="15" id="826" />
 <extraparam>
 <Line value="send Ack of Fin" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1011" id="820" >
+<COMPONENT type="1011" id="830" >
 <cdparam x="999" y="1266" />
 <sizeparam width="100" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="action state" value="tcpctrl.state =7" />
-<TGConnectingPoint num="0" id="818" />
-<TGConnectingPoint num="1" id="819" />
+<TGConnectingPoint num="0" id="828" />
+<TGConnectingPoint num="1" id="829" />
 </COMPONENT>
 
-<COMPONENT type="1001" id="822" >
+<COMPONENT type="1001" id="832" >
 <cdparam x="1039" y="1341" />
 <sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="stop state" value="null" />
-<TGConnectingPoint num="0" id="821" />
+<TGConnectingPoint num="0" id="831" />
 </COMPONENT>
 
-<COMPONENT type="1006" id="825" >
+<COMPONENT type="1006" id="835" >
 <cdparam x="683" y="758" />
 <sizeparam width="79" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="write channel" value="fromTtoP(1)" />
-<TGConnectingPoint num="0" id="823" />
-<TGConnectingPoint num="1" id="824" />
+<TGConnectingPoint num="0" id="833" />
+<TGConnectingPoint num="1" id="834" />
 <extraparam>
 <Data channelName="fromTtoP" nbOfSamples="1" secPattern="" isAttacker="No" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1001" id="827" >
+<COMPONENT type="1001" id="837" >
 <cdparam x="712" y="865" />
 <sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="stop state" value="null" />
-<TGConnectingPoint num="0" id="826" />
+<TGConnectingPoint num="0" id="836" />
 </COMPONENT>
 
-<COMPONENT type="1007" id="830" >
+<COMPONENT type="1007" id="840" >
 <cdparam x="93" y="1100" />
 <sizeparam width="78" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="send request" value="req_Timer()" />
-<TGConnectingPoint num="0" id="828" />
-<TGConnectingPoint num="1" id="829" />
+<TGConnectingPoint num="0" id="838" />
+<TGConnectingPoint num="1" id="839" />
 <extraparam>
 <Data requestName="req_Timer" nbOfParams="5" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1006" id="833" >
+<COMPONENT type="1006" id="843" >
 <cdparam x="104" y="1167" />
 <sizeparam width="56" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="write channel" value="temp(1)" />
-<TGConnectingPoint num="0" id="831" />
-<TGConnectingPoint num="1" id="832" />
+<TGConnectingPoint num="0" id="841" />
+<TGConnectingPoint num="1" id="842" />
 <extraparam>
 <Data channelName="temp" nbOfSamples="1" secPattern="" isAttacker="No" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1001" id="835" >
+<COMPONENT type="1001" id="845" >
 <cdparam x="122" y="1236" />
 <sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="stop state" value="null" />
-<TGConnectingPoint num="0" id="834" />
+<TGConnectingPoint num="0" id="844" />
 </COMPONENT>
 
-<COMPONENT type="1007" id="838" >
+<COMPONENT type="1007" id="848" >
 <cdparam x="191" y="1102" />
 <sizeparam width="78" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="send request" value="req_Timer()" />
-<TGConnectingPoint num="0" id="836" />
-<TGConnectingPoint num="1" id="837" />
+<TGConnectingPoint num="0" id="846" />
+<TGConnectingPoint num="1" id="847" />
 <extraparam>
 <Data requestName="req_Timer" nbOfParams="5" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1006" id="841" >
+<COMPONENT type="1006" id="851" >
 <cdparam x="202" y="1169" />
 <sizeparam width="56" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="write channel" value="temp(1)" />
-<TGConnectingPoint num="0" id="839" />
-<TGConnectingPoint num="1" id="840" />
+<TGConnectingPoint num="0" id="849" />
+<TGConnectingPoint num="1" id="850" />
 <extraparam>
 <Data channelName="temp" nbOfSamples="1" secPattern="" isAttacker="No" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1007" id="844" >
+<COMPONENT type="1007" id="854" >
 <cdparam x="307" y="1106" />
 <sizeparam width="78" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="send request" value="req_Timer()" />
-<TGConnectingPoint num="0" id="842" />
-<TGConnectingPoint num="1" id="843" />
+<TGConnectingPoint num="0" id="852" />
+<TGConnectingPoint num="1" id="853" />
 <extraparam>
 <Data requestName="req_Timer" nbOfParams="5" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1006" id="847" >
+<COMPONENT type="1006" id="857" >
 <cdparam x="318" y="1173" />
 <sizeparam width="56" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="write channel" value="temp(1)" />
-<TGConnectingPoint num="0" id="845" />
-<TGConnectingPoint num="1" id="846" />
+<TGConnectingPoint num="0" id="855" />
+<TGConnectingPoint num="1" id="856" />
 <extraparam>
 <Data channelName="temp" nbOfSamples="1" secPattern="" isAttacker="No" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1007" id="850" >
+<COMPONENT type="1007" id="860" >
 <cdparam x="425" y="1090" />
 <sizeparam width="78" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="send request" value="req_Timer()" />
-<TGConnectingPoint num="0" id="848" />
-<TGConnectingPoint num="1" id="849" />
+<TGConnectingPoint num="0" id="858" />
+<TGConnectingPoint num="1" id="859" />
 <extraparam>
 <Data requestName="req_Timer" nbOfParams="5" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1006" id="853" >
+<COMPONENT type="1006" id="863" >
 <cdparam x="436" y="1159" />
 <sizeparam width="56" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="write channel" value="temp(1)" />
-<TGConnectingPoint num="0" id="851" />
-<TGConnectingPoint num="1" id="852" />
+<TGConnectingPoint num="0" id="861" />
+<TGConnectingPoint num="1" id="862" />
 <extraparam>
 <Data channelName="temp" nbOfSamples="1" secPattern="" isAttacker="No" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1011" id="856" >
+<COMPONENT type="1011" id="866" >
 <cdparam x="56" y="861" />
 <sizeparam width="153" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="action state" value="seqNum=seqNum+wind" />
-<TGConnectingPoint num="0" id="854" />
-<TGConnectingPoint num="1" id="855" />
+<TGConnectingPoint num="0" id="864" />
+<TGConnectingPoint num="1" id="865" />
 </COMPONENT>
 
-<COMPONENT type="1011" id="859" >
+<COMPONENT type="1011" id="869" >
 <cdparam x="154" y="940" />
 <sizeparam width="153" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="action state" value="seqNum=seqNum+wind" />
-<TGConnectingPoint num="0" id="857" />
-<TGConnectingPoint num="1" id="858" />
+<TGConnectingPoint num="0" id="867" />
+<TGConnectingPoint num="1" id="868" />
 </COMPONENT>
 
-<COMPONENT type="1011" id="862" >
+<COMPONENT type="1011" id="872" >
 <cdparam x="388" y="865" />
 <sizeparam width="153" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="action state" value="seqNum=seqNum+wind" />
-<TGConnectingPoint num="0" id="860" />
-<TGConnectingPoint num="1" id="861" />
+<TGConnectingPoint num="0" id="870" />
+<TGConnectingPoint num="1" id="871" />
 </COMPONENT>
 
-<COMPONENT type="1011" id="865" >
+<COMPONENT type="1011" id="875" >
 <cdparam x="270" y="831" />
 <sizeparam width="153" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="action state" value="seqNum=seqNum+wind" />
-<TGConnectingPoint num="0" id="863" />
-<TGConnectingPoint num="1" id="864" />
+<TGConnectingPoint num="0" id="873" />
+<TGConnectingPoint num="1" id="874" />
 </COMPONENT>
 
-<COMPONENT type="1008" id="868" >
+<COMPONENT type="1008" id="878" >
 <cdparam x="207" y="1052" />
 <sizeparam width="46" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="send event" value="send()" />
-<TGConnectingPoint num="0" id="866" />
-<TGConnectingPoint num="1" id="867" />
+<TGConnectingPoint num="0" id="876" />
+<TGConnectingPoint num="1" id="877" />
 <extraparam>
 <Data eventName="send" nbOfParams="5" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1008" id="871" >
+<COMPONENT type="1008" id="881" >
 <cdparam x="323" y="962" />
 <sizeparam width="46" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="send event" value="send()" />
-<TGConnectingPoint num="0" id="869" />
-<TGConnectingPoint num="1" id="870" />
+<TGConnectingPoint num="0" id="879" />
+<TGConnectingPoint num="1" id="880" />
 <extraparam>
 <Data eventName="send" nbOfParams="5" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1008" id="874" >
+<COMPONENT type="1008" id="884" >
 <cdparam x="441" y="983" />
 <sizeparam width="46" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="send event" value="send()" />
-<TGConnectingPoint num="0" id="872" />
-<TGConnectingPoint num="1" id="873" />
+<TGConnectingPoint num="0" id="882" />
+<TGConnectingPoint num="1" id="883" />
 <extraparam>
 <Data eventName="send" nbOfParams="5" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1008" id="877" >
+<COMPONENT type="1008" id="887" >
 <cdparam x="109" y="986" />
 <sizeparam width="46" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="send event" value="send()" />
-<TGConnectingPoint num="0" id="875" />
-<TGConnectingPoint num="1" id="876" />
+<TGConnectingPoint num="0" id="885" />
+<TGConnectingPoint num="1" id="886" />
 <extraparam>
 <Data eventName="send" nbOfParams="5" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1008" id="880" >
+<COMPONENT type="1008" id="890" >
 <cdparam x="699" y="813" />
 <sizeparam width="46" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="send event" value="send()" />
-<TGConnectingPoint num="0" id="878" />
-<TGConnectingPoint num="1" id="879" />
+<TGConnectingPoint num="0" id="888" />
+<TGConnectingPoint num="1" id="889" />
 <extraparam>
 <Data eventName="send" nbOfParams="5" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1008" id="883" >
+<COMPONENT type="1008" id="893" >
 <cdparam x="777" y="1141" />
 <sizeparam width="46" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="send event" value="send()" />
-<TGConnectingPoint num="0" id="881" />
-<TGConnectingPoint num="1" id="882" />
+<TGConnectingPoint num="0" id="891" />
+<TGConnectingPoint num="1" id="892" />
 <extraparam>
 <Data eventName="send" nbOfParams="5" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1008" id="886" >
+<COMPONENT type="1008" id="896" >
 <cdparam x="920" y="1178" />
 <sizeparam width="46" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="send event" value="send()" />
-<TGConnectingPoint num="0" id="884" />
-<TGConnectingPoint num="1" id="885" />
+<TGConnectingPoint num="0" id="894" />
+<TGConnectingPoint num="1" id="895" />
 <extraparam>
 <Data eventName="send" nbOfParams="5" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1008" id="889" >
+<COMPONENT type="1008" id="899" >
 <cdparam x="1026" y="1211" />
 <sizeparam width="46" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="send event" value="send()" />
-<TGConnectingPoint num="0" id="887" />
-<TGConnectingPoint num="1" id="888" />
+<TGConnectingPoint num="0" id="897" />
+<TGConnectingPoint num="1" id="898" />
 <extraparam>
 <Data eventName="send" nbOfParams="5" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1001" id="891" >
+<COMPONENT type="1001" id="901" >
 <cdparam x="602" y="762" />
 <sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="stop state" value="null" />
-<TGConnectingPoint num="0" id="890" />
+<TGConnectingPoint num="0" id="900" />
 </COMPONENT>
 
-<COMPONENT type="1001" id="893" >
+<COMPONENT type="1001" id="903" >
 <cdparam x="873" y="922" />
 <sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="stop state" value="null" />
-<TGConnectingPoint num="0" id="892" />
+<TGConnectingPoint num="0" id="902" />
 </COMPONENT>
 
-<COMPONENT type="1006" id="896" >
+<COMPONENT type="1006" id="906" >
 <cdparam x="1169" y="1214" />
 <sizeparam width="79" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="write channel" value="fromTtoP(1)" />
-<TGConnectingPoint num="0" id="894" />
-<TGConnectingPoint num="1" id="895" />
+<TGConnectingPoint num="0" id="904" />
+<TGConnectingPoint num="1" id="905" />
 <extraparam>
 <Data channelName="fromTtoP" nbOfSamples="1" secPattern="" isAttacker="No" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="301" id="913" >
+<COMPONENT type="301" id="923" >
 <cdparam x="1159" y="1153" />
 <sizeparam width="108" height="15" minWidth="50" minHeight="20" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="UML Note" value="send Ack of Fin
 " />
-<TGConnectingPoint num="0" id="897" />
-<TGConnectingPoint num="1" id="898" />
-<TGConnectingPoint num="2" id="899" />
-<TGConnectingPoint num="3" id="900" />
-<TGConnectingPoint num="4" id="901" />
-<TGConnectingPoint num="5" id="902" />
-<TGConnectingPoint num="6" id="903" />
-<TGConnectingPoint num="7" id="904" />
-<TGConnectingPoint num="8" id="905" />
-<TGConnectingPoint num="9" id="906" />
-<TGConnectingPoint num="10" id="907" />
-<TGConnectingPoint num="11" id="908" />
-<TGConnectingPoint num="12" id="909" />
-<TGConnectingPoint num="13" id="910" />
-<TGConnectingPoint num="14" id="911" />
-<TGConnectingPoint num="15" id="912" />
+<TGConnectingPoint num="0" id="907" />
+<TGConnectingPoint num="1" id="908" />
+<TGConnectingPoint num="2" id="909" />
+<TGConnectingPoint num="3" id="910" />
+<TGConnectingPoint num="4" id="911" />
+<TGConnectingPoint num="5" id="912" />
+<TGConnectingPoint num="6" id="913" />
+<TGConnectingPoint num="7" id="914" />
+<TGConnectingPoint num="8" id="915" />
+<TGConnectingPoint num="9" id="916" />
+<TGConnectingPoint num="10" id="917" />
+<TGConnectingPoint num="11" id="918" />
+<TGConnectingPoint num="12" id="919" />
+<TGConnectingPoint num="13" id="920" />
+<TGConnectingPoint num="14" id="921" />
+<TGConnectingPoint num="15" id="922" />
 <extraparam>
 <Line value="send Ack of Fin" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1011" id="916" >
+<COMPONENT type="1011" id="926" >
 <cdparam x="1158" y="1295" />
 <sizeparam width="100" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="action state" value="tcpctrl.state =8" />
-<TGConnectingPoint num="0" id="914" />
-<TGConnectingPoint num="1" id="915" />
+<TGConnectingPoint num="0" id="924" />
+<TGConnectingPoint num="1" id="925" />
 </COMPONENT>
 
-<COMPONENT type="1001" id="918" >
+<COMPONENT type="1001" id="928" >
 <cdparam x="1198" y="1471" />
 <sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="stop state" value="null" />
-<TGConnectingPoint num="0" id="917" />
+<TGConnectingPoint num="0" id="927" />
 </COMPONENT>
 
-<COMPONENT type="1011" id="921" >
+<COMPONENT type="1011" id="931" >
 <cdparam x="1158" y="1402" />
 <sizeparam width="100" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="action state" value="tcpctrl.state =0" />
-<TGConnectingPoint num="0" id="919" />
-<TGConnectingPoint num="1" id="920" />
+<TGConnectingPoint num="0" id="929" />
+<TGConnectingPoint num="1" id="930" />
 </COMPONENT>
 
-<COMPONENT type="1008" id="924" >
+<COMPONENT type="1008" id="934" >
 <cdparam x="1185" y="1351" />
 <sizeparam width="46" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="send event" value="send()" />
-<TGConnectingPoint num="0" id="922" />
-<TGConnectingPoint num="1" id="923" />
+<TGConnectingPoint num="0" id="932" />
+<TGConnectingPoint num="1" id="933" />
 <extraparam>
 <Data eventName="send" nbOfParams="5" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1001" id="926" >
+<COMPONENT type="1001" id="936" >
 <cdparam x="1277" y="1070" />
 <sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="stop state" value="null" />
-<TGConnectingPoint num="0" id="925" />
+<TGConnectingPoint num="0" id="935" />
 </COMPONENT>
 
-<COMPONENT type="1001" id="928" >
+<COMPONENT type="1001" id="938" >
 <cdparam x="1519" y="1457" />
 <sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="stop state" value="null" />
-<TGConnectingPoint num="0" id="927" />
+<TGConnectingPoint num="0" id="937" />
 </COMPONENT>
 
-<COMPONENT type="1006" id="931" >
+<COMPONENT type="1006" id="941" >
 <cdparam x="1489" y="1132" />
 <sizeparam width="80" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="write channel" value="fromTtoA(1)" />
-<TGConnectingPoint num="0" id="929" />
-<TGConnectingPoint num="1" id="930" />
+<TGConnectingPoint num="0" id="939" />
+<TGConnectingPoint num="1" id="940" />
 <extraparam>
 <Data channelName="fromTtoA" nbOfSamples="1" secPattern="" isAttacker="No" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1006" id="934" >
+<COMPONENT type="1006" id="944" >
 <cdparam x="1490" y="1348" />
 <sizeparam width="79" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="write channel" value="fromTtoP(1)" />
-<TGConnectingPoint num="0" id="932" />
-<TGConnectingPoint num="1" id="933" />
+<TGConnectingPoint num="0" id="942" />
+<TGConnectingPoint num="1" id="943" />
 <extraparam>
 <Data channelName="fromTtoP" nbOfSamples="1" secPattern="" isAttacker="No" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1008" id="937" >
+<COMPONENT type="1008" id="947" >
 <cdparam x="1707" y="1026" />
 <sizeparam width="43" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="send event" value="stop()" />
-<TGConnectingPoint num="0" id="935" />
-<TGConnectingPoint num="1" id="936" />
+<TGConnectingPoint num="0" id="945" />
+<TGConnectingPoint num="1" id="946" />
 <extraparam>
 <Data eventName="stop" nbOfParams="5" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="301" id="954" >
+<COMPONENT type="301" id="964" >
 <cdparam x="1759" y="1192" />
 <sizeparam width="86" height="15" minWidth="50" minHeight="20" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="UML Note" value="Correct ack
 " />
-<TGConnectingPoint num="0" id="938" />
-<TGConnectingPoint num="1" id="939" />
-<TGConnectingPoint num="2" id="940" />
-<TGConnectingPoint num="3" id="941" />
-<TGConnectingPoint num="4" id="942" />
-<TGConnectingPoint num="5" id="943" />
-<TGConnectingPoint num="6" id="944" />
-<TGConnectingPoint num="7" id="945" />
-<TGConnectingPoint num="8" id="946" />
-<TGConnectingPoint num="9" id="947" />
-<TGConnectingPoint num="10" id="948" />
-<TGConnectingPoint num="11" id="949" />
-<TGConnectingPoint num="12" id="950" />
-<TGConnectingPoint num="13" id="951" />
-<TGConnectingPoint num="14" id="952" />
-<TGConnectingPoint num="15" id="953" />
+<TGConnectingPoint num="0" id="948" />
+<TGConnectingPoint num="1" id="949" />
+<TGConnectingPoint num="2" id="950" />
+<TGConnectingPoint num="3" id="951" />
+<TGConnectingPoint num="4" id="952" />
+<TGConnectingPoint num="5" id="953" />
+<TGConnectingPoint num="6" id="954" />
+<TGConnectingPoint num="7" id="955" />
+<TGConnectingPoint num="8" id="956" />
+<TGConnectingPoint num="9" id="957" />
+<TGConnectingPoint num="10" id="958" />
+<TGConnectingPoint num="11" id="959" />
+<TGConnectingPoint num="12" id="960" />
+<TGConnectingPoint num="13" id="961" />
+<TGConnectingPoint num="14" id="962" />
+<TGConnectingPoint num="15" id="963" />
 <extraparam>
 <Line value="Correct ack" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="301" id="971" >
+<COMPONENT type="301" id="981" >
 <cdparam x="1635" y="1168" />
 <sizeparam width="71" height="15" minWidth="50" minHeight="20" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="UML Note" value="false ack
 " />
-<TGConnectingPoint num="0" id="955" />
-<TGConnectingPoint num="1" id="956" />
-<TGConnectingPoint num="2" id="957" />
-<TGConnectingPoint num="3" id="958" />
-<TGConnectingPoint num="4" id="959" />
-<TGConnectingPoint num="5" id="960" />
-<TGConnectingPoint num="6" id="961" />
-<TGConnectingPoint num="7" id="962" />
-<TGConnectingPoint num="8" id="963" />
-<TGConnectingPoint num="9" id="964" />
-<TGConnectingPoint num="10" id="965" />
-<TGConnectingPoint num="11" id="966" />
-<TGConnectingPoint num="12" id="967" />
-<TGConnectingPoint num="13" id="968" />
-<TGConnectingPoint num="14" id="969" />
-<TGConnectingPoint num="15" id="970" />
+<TGConnectingPoint num="0" id="965" />
+<TGConnectingPoint num="1" id="966" />
+<TGConnectingPoint num="2" id="967" />
+<TGConnectingPoint num="3" id="968" />
+<TGConnectingPoint num="4" id="969" />
+<TGConnectingPoint num="5" id="970" />
+<TGConnectingPoint num="6" id="971" />
+<TGConnectingPoint num="7" id="972" />
+<TGConnectingPoint num="8" id="973" />
+<TGConnectingPoint num="9" id="974" />
+<TGConnectingPoint num="10" id="975" />
+<TGConnectingPoint num="11" id="976" />
+<TGConnectingPoint num="12" id="977" />
+<TGConnectingPoint num="13" id="978" />
+<TGConnectingPoint num="14" id="979" />
+<TGConnectingPoint num="15" id="980" />
 <extraparam>
 <Line value="false ack" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1006" id="974" >
+<COMPONENT type="1006" id="984" >
 <cdparam x="1602" y="1299" />
 <sizeparam width="79" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="write channel" value="fromTtoP(1)" />
-<TGConnectingPoint num="0" id="972" />
-<TGConnectingPoint num="1" id="973" />
+<TGConnectingPoint num="0" id="982" />
+<TGConnectingPoint num="1" id="983" />
 <extraparam>
 <Data channelName="fromTtoP" nbOfSamples="1" secPattern="" isAttacker="No" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1001" id="976" >
+<COMPONENT type="1001" id="986" >
 <cdparam x="1631" y="1468" />
 <sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="stop state" value="null" />
-<TGConnectingPoint num="0" id="975" />
+<TGConnectingPoint num="0" id="985" />
 </COMPONENT>
 
-<COMPONENT type="301" id="993" >
+<COMPONENT type="301" id="1003" >
 <cdparam x="1469" y="1295" />
 <sizeparam width="127" height="15" minWidth="50" minHeight="20" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="UML Note" value="return acknowldge
 " />
-<TGConnectingPoint num="0" id="977" />
-<TGConnectingPoint num="1" id="978" />
-<TGConnectingPoint num="2" id="979" />
-<TGConnectingPoint num="3" id="980" />
-<TGConnectingPoint num="4" id="981" />
-<TGConnectingPoint num="5" id="982" />
-<TGConnectingPoint num="6" id="983" />
-<TGConnectingPoint num="7" id="984" />
-<TGConnectingPoint num="8" id="985" />
-<TGConnectingPoint num="9" id="986" />
-<TGConnectingPoint num="10" id="987" />
-<TGConnectingPoint num="11" id="988" />
-<TGConnectingPoint num="12" id="989" />
-<TGConnectingPoint num="13" id="990" />
-<TGConnectingPoint num="14" id="991" />
-<TGConnectingPoint num="15" id="992" />
+<TGConnectingPoint num="0" id="987" />
+<TGConnectingPoint num="1" id="988" />
+<TGConnectingPoint num="2" id="989" />
+<TGConnectingPoint num="3" id="990" />
+<TGConnectingPoint num="4" id="991" />
+<TGConnectingPoint num="5" id="992" />
+<TGConnectingPoint num="6" id="993" />
+<TGConnectingPoint num="7" id="994" />
+<TGConnectingPoint num="8" id="995" />
+<TGConnectingPoint num="9" id="996" />
+<TGConnectingPoint num="10" id="997" />
+<TGConnectingPoint num="11" id="998" />
+<TGConnectingPoint num="12" id="999" />
+<TGConnectingPoint num="13" id="1000" />
+<TGConnectingPoint num="14" id="1001" />
+<TGConnectingPoint num="15" id="1002" />
 <extraparam>
 <Line value="return acknowldge" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="301" id="1010" >
+<COMPONENT type="301" id="1020" >
 <cdparam x="1620" y="927" />
 <sizeparam width="50" height="15" minWidth="50" minHeight="20" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="UML Note" value="data
 " />
-<TGConnectingPoint num="0" id="994" />
-<TGConnectingPoint num="1" id="995" />
-<TGConnectingPoint num="2" id="996" />
-<TGConnectingPoint num="3" id="997" />
-<TGConnectingPoint num="4" id="998" />
-<TGConnectingPoint num="5" id="999" />
-<TGConnectingPoint num="6" id="1000" />
-<TGConnectingPoint num="7" id="1001" />
-<TGConnectingPoint num="8" id="1002" />
-<TGConnectingPoint num="9" id="1003" />
-<TGConnectingPoint num="10" id="1004" />
-<TGConnectingPoint num="11" id="1005" />
-<TGConnectingPoint num="12" id="1006" />
-<TGConnectingPoint num="13" id="1007" />
-<TGConnectingPoint num="14" id="1008" />
-<TGConnectingPoint num="15" id="1009" />
+<TGConnectingPoint num="0" id="1004" />
+<TGConnectingPoint num="1" id="1005" />
+<TGConnectingPoint num="2" id="1006" />
+<TGConnectingPoint num="3" id="1007" />
+<TGConnectingPoint num="4" id="1008" />
+<TGConnectingPoint num="5" id="1009" />
+<TGConnectingPoint num="6" id="1010" />
+<TGConnectingPoint num="7" id="1011" />
+<TGConnectingPoint num="8" id="1012" />
+<TGConnectingPoint num="9" id="1013" />
+<TGConnectingPoint num="10" id="1014" />
+<TGConnectingPoint num="11" id="1015" />
+<TGConnectingPoint num="12" id="1016" />
+<TGConnectingPoint num="13" id="1017" />
+<TGConnectingPoint num="14" id="1018" />
+<TGConnectingPoint num="15" id="1019" />
 <extraparam>
 <Line value="data" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1008" id="1013" >
+<COMPONENT type="1008" id="1023" >
 <cdparam x="1506" y="1405" />
 <sizeparam width="46" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="send event" value="send()" />
-<TGConnectingPoint num="0" id="1011" />
-<TGConnectingPoint num="1" id="1012" />
+<TGConnectingPoint num="0" id="1021" />
+<TGConnectingPoint num="1" id="1022" />
 <extraparam>
 <Data eventName="send" nbOfParams="5" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1008" id="1016" >
+<COMPONENT type="1008" id="1026" >
 <cdparam x="1618" y="1348" />
 <sizeparam width="46" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="send event" value="send()" />
-<TGConnectingPoint num="0" id="1014" />
-<TGConnectingPoint num="1" id="1015" />
+<TGConnectingPoint num="0" id="1024" />
+<TGConnectingPoint num="1" id="1025" />
 <extraparam>
 <Data eventName="send" nbOfParams="5" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1006" id="1019" >
+<COMPONENT type="1006" id="1029" >
 <cdparam x="1613" y="1404" />
 <sizeparam width="56" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="write channel" value="temp(1)" />
-<TGConnectingPoint num="0" id="1017" />
-<TGConnectingPoint num="1" id="1018" />
+<TGConnectingPoint num="0" id="1027" />
+<TGConnectingPoint num="1" id="1028" />
 <extraparam>
 <Data channelName="temp" nbOfSamples="1" secPattern="" isAttacker="No" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1001" id="1021" >
+<COMPONENT type="1001" id="1031" >
 <cdparam x="1730" y="1335" />
 <sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="stop state" value="null" />
-<TGConnectingPoint num="0" id="1020" />
+<TGConnectingPoint num="0" id="1030" />
 </COMPONENT>
 
-<COMPONENT type="1011" id="1024" >
+<COMPONENT type="1011" id="1034" >
 <cdparam x="1776" y="1349" />
 <sizeparam width="100" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="action state" value="tcpctrl.state =4" />
-<TGConnectingPoint num="0" id="1022" />
-<TGConnectingPoint num="1" id="1023" />
+<TGConnectingPoint num="0" id="1032" />
+<TGConnectingPoint num="1" id="1033" />
 </COMPONENT>
 
-<COMPONENT type="1001" id="1026" >
+<COMPONENT type="1001" id="1036" >
 <cdparam x="1816" y="1457" />
 <sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="stop state" value="null" />
-<TGConnectingPoint num="0" id="1025" />
+<TGConnectingPoint num="0" id="1035" />
 </COMPONENT>
 
-<COMPONENT type="1011" id="1029" >
+<COMPONENT type="1011" id="1039" >
 <cdparam x="1870" y="1411" />
 <sizeparam width="100" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="action state" value="tcpctrl.state =6" />
-<TGConnectingPoint num="0" id="1027" />
-<TGConnectingPoint num="1" id="1028" />
+<TGConnectingPoint num="0" id="1037" />
+<TGConnectingPoint num="1" id="1038" />
 </COMPONENT>
 
-<COMPONENT type="1001" id="1031" >
+<COMPONENT type="1001" id="1041" >
 <cdparam x="1910" y="1481" />
 <sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="stop state" value="null" />
-<TGConnectingPoint num="0" id="1030" />
+<TGConnectingPoint num="0" id="1040" />
 </COMPONENT>
 
-<COMPONENT type="1001" id="1033" >
+<COMPONENT type="1001" id="1043" >
 <cdparam x="1986" y="1543" />
 <sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="stop state" value="null" />
-<TGConnectingPoint num="0" id="1032" />
+<TGConnectingPoint num="0" id="1042" />
 </COMPONENT>
 
-<COMPONENT type="1011" id="1036" >
+<COMPONENT type="1011" id="1046" >
 <cdparam x="2051" y="1466" />
 <sizeparam width="100" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="action state" value="tcpctrl.state =0" />
-<TGConnectingPoint num="0" id="1034" />
-<TGConnectingPoint num="1" id="1035" />
+<TGConnectingPoint num="0" id="1044" />
+<TGConnectingPoint num="1" id="1045" />
 </COMPONENT>
 
-<COMPONENT type="1001" id="1038" >
+<COMPONENT type="1001" id="1048" >
 <cdparam x="2091" y="1537" />
 <sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="stop state" value="null" />
-<TGConnectingPoint num="0" id="1037" />
+<TGConnectingPoint num="0" id="1047" />
 </COMPONENT>
 
-<COMPONENT type="1011" id="1041" >
+<COMPONENT type="1011" id="1051" >
 <cdparam x="1946" y="1493" />
 <sizeparam width="100" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="action state" value="tcpctrl.state =0" />
-<TGConnectingPoint num="0" id="1039" />
-<TGConnectingPoint num="1" id="1040" />
+<TGConnectingPoint num="0" id="1049" />
+<TGConnectingPoint num="1" id="1050" />
 </COMPONENT>
 
-<COMPONENT type="1011" id="1044" >
+<COMPONENT type="1011" id="1054" >
 <cdparam x="1946" y="1434" />
 <sizeparam width="100" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="action state" value="tcpctrl.state =8" />
-<TGConnectingPoint num="0" id="1042" />
-<TGConnectingPoint num="1" id="1043" />
+<TGConnectingPoint num="0" id="1052" />
+<TGConnectingPoint num="1" id="1053" />
 </COMPONENT>
 
-<COMPONENT type="301" id="1061" >
+<COMPONENT type="301" id="1071" >
 <cdparam x="1825" y="889" />
 <sizeparam width="50" height="15" minWidth="50" minHeight="20" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="UML Note" value="Syn
 " />
-<TGConnectingPoint num="0" id="1045" />
-<TGConnectingPoint num="1" id="1046" />
-<TGConnectingPoint num="2" id="1047" />
-<TGConnectingPoint num="3" id="1048" />
-<TGConnectingPoint num="4" id="1049" />
-<TGConnectingPoint num="5" id="1050" />
-<TGConnectingPoint num="6" id="1051" />
-<TGConnectingPoint num="7" id="1052" />
-<TGConnectingPoint num="8" id="1053" />
-<TGConnectingPoint num="9" id="1054" />
-<TGConnectingPoint num="10" id="1055" />
-<TGConnectingPoint num="11" id="1056" />
-<TGConnectingPoint num="12" id="1057" />
-<TGConnectingPoint num="13" id="1058" />
-<TGConnectingPoint num="14" id="1059" />
-<TGConnectingPoint num="15" id="1060" />
+<TGConnectingPoint num="0" id="1055" />
+<TGConnectingPoint num="1" id="1056" />
+<TGConnectingPoint num="2" id="1057" />
+<TGConnectingPoint num="3" id="1058" />
+<TGConnectingPoint num="4" id="1059" />
+<TGConnectingPoint num="5" id="1060" />
+<TGConnectingPoint num="6" id="1061" />
+<TGConnectingPoint num="7" id="1062" />
+<TGConnectingPoint num="8" id="1063" />
+<TGConnectingPoint num="9" id="1064" />
+<TGConnectingPoint num="10" id="1065" />
+<TGConnectingPoint num="11" id="1066" />
+<TGConnectingPoint num="12" id="1067" />
+<TGConnectingPoint num="13" id="1068" />
+<TGConnectingPoint num="14" id="1069" />
+<TGConnectingPoint num="15" id="1070" />
 <extraparam>
 <Line value="Syn" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="301" id="1078" >
+<COMPONENT type="301" id="1088" >
 <cdparam x="1707" y="945" />
 <sizeparam width="50" height="15" minWidth="50" minHeight="20" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="UML Note" value="ack
 " />
-<TGConnectingPoint num="0" id="1062" />
-<TGConnectingPoint num="1" id="1063" />
-<TGConnectingPoint num="2" id="1064" />
-<TGConnectingPoint num="3" id="1065" />
-<TGConnectingPoint num="4" id="1066" />
-<TGConnectingPoint num="5" id="1067" />
-<TGConnectingPoint num="6" id="1068" />
-<TGConnectingPoint num="7" id="1069" />
-<TGConnectingPoint num="8" id="1070" />
-<TGConnectingPoint num="9" id="1071" />
-<TGConnectingPoint num="10" id="1072" />
-<TGConnectingPoint num="11" id="1073" />
-<TGConnectingPoint num="12" id="1074" />
-<TGConnectingPoint num="13" id="1075" />
-<TGConnectingPoint num="14" id="1076" />
-<TGConnectingPoint num="15" id="1077" />
+<TGConnectingPoint num="0" id="1072" />
+<TGConnectingPoint num="1" id="1073" />
+<TGConnectingPoint num="2" id="1074" />
+<TGConnectingPoint num="3" id="1075" />
+<TGConnectingPoint num="4" id="1076" />
+<TGConnectingPoint num="5" id="1077" />
+<TGConnectingPoint num="6" id="1078" />
+<TGConnectingPoint num="7" id="1079" />
+<TGConnectingPoint num="8" id="1080" />
+<TGConnectingPoint num="9" id="1081" />
+<TGConnectingPoint num="10" id="1082" />
+<TGConnectingPoint num="11" id="1083" />
+<TGConnectingPoint num="12" id="1084" />
+<TGConnectingPoint num="13" id="1085" />
+<TGConnectingPoint num="14" id="1086" />
+<TGConnectingPoint num="15" id="1087" />
 <extraparam>
 <Line value="ack" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1006" id="1081" >
+<COMPONENT type="1006" id="1091" >
 <cdparam x="2198" y="1198" />
 <sizeparam width="79" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="write channel" value="fromTtoP(1)" />
-<TGConnectingPoint num="0" id="1079" />
-<TGConnectingPoint num="1" id="1080" />
+<TGConnectingPoint num="0" id="1089" />
+<TGConnectingPoint num="1" id="1090" />
 <extraparam>
 <Data channelName="fromTtoP" nbOfSamples="1" secPattern="" isAttacker="No" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1001" id="1083" >
+<COMPONENT type="1001" id="1093" >
 <cdparam x="2227" y="1483" />
 <sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="stop state" value="null" />
-<TGConnectingPoint num="0" id="1082" />
+<TGConnectingPoint num="0" id="1092" />
 </COMPONENT>
 
-<COMPONENT type="1007" id="1086" >
+<COMPONENT type="1007" id="1096" >
 <cdparam x="2198" y="1298" />
 <sizeparam width="78" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="send request" value="req_Timer()" />
-<TGConnectingPoint num="0" id="1084" />
-<TGConnectingPoint num="1" id="1085" />
+<TGConnectingPoint num="0" id="1094" />
+<TGConnectingPoint num="1" id="1095" />
 <extraparam>
 <Data requestName="req_Timer" nbOfParams="5" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1006" id="1089" >
+<COMPONENT type="1006" id="1099" >
 <cdparam x="2209" y="1365" />
 <sizeparam width="56" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="write channel" value="temp(1)" />
-<TGConnectingPoint num="0" id="1087" />
-<TGConnectingPoint num="1" id="1088" />
+<TGConnectingPoint num="0" id="1097" />
+<TGConnectingPoint num="1" id="1098" />
 <extraparam>
 <Data channelName="temp" nbOfSamples="1" secPattern="" isAttacker="No" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1011" id="1092" >
+<COMPONENT type="1011" id="1102" >
 <cdparam x="2161" y="1136" />
 <sizeparam width="153" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="action state" value="seqNum=seqNum+wind" />
-<TGConnectingPoint num="0" id="1090" />
-<TGConnectingPoint num="1" id="1091" />
+<TGConnectingPoint num="0" id="1100" />
+<TGConnectingPoint num="1" id="1101" />
 </COMPONENT>
 
-<COMPONENT type="1008" id="1095" >
+<COMPONENT type="1008" id="1105" >
 <cdparam x="2214" y="1248" />
 <sizeparam width="46" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="send event" value="send()" />
-<TGConnectingPoint num="0" id="1093" />
-<TGConnectingPoint num="1" id="1094" />
+<TGConnectingPoint num="0" id="1103" />
+<TGConnectingPoint num="1" id="1104" />
 <extraparam>
 <Data eventName="send" nbOfParams="5" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1011" id="1098" >
+<COMPONENT type="1011" id="1108" >
 <cdparam x="2187" y="1424" />
 <sizeparam width="100" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="action state" value="tcpctrl.state =2" />
-<TGConnectingPoint num="0" id="1096" />
-<TGConnectingPoint num="1" id="1097" />
+<TGConnectingPoint num="0" id="1106" />
+<TGConnectingPoint num="1" id="1107" />
 </COMPONENT>
 
-<COMPONENT type="1006" id="1101" >
+<COMPONENT type="1006" id="1111" >
 <cdparam x="2278" y="1122" />
 <sizeparam width="79" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="write channel" value="fromTtoP(1)" />
-<TGConnectingPoint num="0" id="1099" />
-<TGConnectingPoint num="1" id="1100" />
+<TGConnectingPoint num="0" id="1109" />
+<TGConnectingPoint num="1" id="1110" />
 <extraparam>
 <Data channelName="fromTtoP" nbOfSamples="1" secPattern="" isAttacker="No" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="301" id="1118" >
+<COMPONENT type="301" id="1128" >
 <cdparam x="2283" y="1065" />
 <sizeparam width="114" height="15" minWidth="50" minHeight="20" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="UML Note" value="send Ack of SYN
 " />
-<TGConnectingPoint num="0" id="1102" />
-<TGConnectingPoint num="1" id="1103" />
-<TGConnectingPoint num="2" id="1104" />
-<TGConnectingPoint num="3" id="1105" />
-<TGConnectingPoint num="4" id="1106" />
-<TGConnectingPoint num="5" id="1107" />
-<TGConnectingPoint num="6" id="1108" />
-<TGConnectingPoint num="7" id="1109" />
-<TGConnectingPoint num="8" id="1110" />
-<TGConnectingPoint num="9" id="1111" />
-<TGConnectingPoint num="10" id="1112" />
-<TGConnectingPoint num="11" id="1113" />
-<TGConnectingPoint num="12" id="1114" />
-<TGConnectingPoint num="13" id="1115" />
-<TGConnectingPoint num="14" id="1116" />
-<TGConnectingPoint num="15" id="1117" />
+<TGConnectingPoint num="0" id="1112" />
+<TGConnectingPoint num="1" id="1113" />
+<TGConnectingPoint num="2" id="1114" />
+<TGConnectingPoint num="3" id="1115" />
+<TGConnectingPoint num="4" id="1116" />
+<TGConnectingPoint num="5" id="1117" />
+<TGConnectingPoint num="6" id="1118" />
+<TGConnectingPoint num="7" id="1119" />
+<TGConnectingPoint num="8" id="1120" />
+<TGConnectingPoint num="9" id="1121" />
+<TGConnectingPoint num="10" id="1122" />
+<TGConnectingPoint num="11" id="1123" />
+<TGConnectingPoint num="12" id="1124" />
+<TGConnectingPoint num="13" id="1125" />
+<TGConnectingPoint num="14" id="1126" />
+<TGConnectingPoint num="15" id="1127" />
 <extraparam>
 <Line value="send Ack of SYN" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1011" id="1121" >
+<COMPONENT type="1011" id="1131" >
 <cdparam x="2267" y="1267" />
 <sizeparam width="100" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="action state" value="tcpctrl.state =2" />
-<TGConnectingPoint num="0" id="1119" />
-<TGConnectingPoint num="1" id="1120" />
+<TGConnectingPoint num="0" id="1129" />
+<TGConnectingPoint num="1" id="1130" />
 </COMPONENT>
 
-<COMPONENT type="1001" id="1123" >
+<COMPONENT type="1001" id="1133" >
 <cdparam x="2307" y="1324" />
 <sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="stop state" value="null" />
-<TGConnectingPoint num="0" id="1122" />
+<TGConnectingPoint num="0" id="1132" />
 </COMPONENT>
 
-<COMPONENT type="1008" id="1126" >
+<COMPONENT type="1008" id="1136" >
 <cdparam x="2294" y="1199" />
 <sizeparam width="46" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="send event" value="send()" />
-<TGConnectingPoint num="0" id="1124" />
-<TGConnectingPoint num="1" id="1125" />
+<TGConnectingPoint num="0" id="1134" />
+<TGConnectingPoint num="1" id="1135" />
 <extraparam>
 <Data eventName="send" nbOfParams="5" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1001" id="1128" >
+<COMPONENT type="1001" id="1138" >
 <cdparam x="1637" y="1057" />
 <sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="stop state" value="null" />
-<TGConnectingPoint num="0" id="1127" />
+<TGConnectingPoint num="0" id="1137" />
 </COMPONENT>
 
-<COMPONENT type="1001" id="1130" >
+<COMPONENT type="1001" id="1140" >
 <cdparam x="2168" y="1421" />
 <sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="stop state" value="null" />
-<TGConnectingPoint num="0" id="1129" />
+<TGConnectingPoint num="0" id="1139" />
 </COMPONENT>
 
-<COMPONENT type="1001" id="1132" >
+<COMPONENT type="1001" id="1142" >
 <cdparam x="2267" y="1039" />
 <sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="stop state" value="null" />
-<TGConnectingPoint num="0" id="1131" />
+<TGConnectingPoint num="0" id="1141" />
 </COMPONENT>
 
-<COMPONENT type="1008" id="1135" >
+<COMPONENT type="1008" id="1145" >
 <cdparam x="1465" y="1192" />
 <sizeparam width="129" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="send event" value="receive_Application()" />
-<TGConnectingPoint num="0" id="1133" />
-<TGConnectingPoint num="1" id="1134" />
+<TGConnectingPoint num="0" id="1143" />
+<TGConnectingPoint num="1" id="1144" />
 <extraparam>
 <Data eventName="receive_Application" nbOfParams="5" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1009" id="1138" >
+<COMPONENT type="1009" id="1148" >
 <cdparam x="1698" y="1086" />
 <sizeparam width="60" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="read channel" value="temp(1) " />
-<TGConnectingPoint num="0" id="1136" />
-<TGConnectingPoint num="1" id="1137" />
+<TGConnectingPoint num="0" id="1146" />
+<TGConnectingPoint num="1" id="1147" />
 <extraparam>
 <Data channelName="temp" nbOfSamples="1" secPattern="" isAttacker="No" />
 </extraparam>
 </COMPONENT>
 
-<CONNECTOR type="115" id="1139" >
+<CONNECTOR type="115" id="1149" >
+<cdparam x="192" y="445" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="null" />
+<P1  x="190" y="449" id="400" />
+<P2  x="188" y="476" id="561" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<CONNECTOR type="115" id="1150" >
 <cdparam x="1048" y="795" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from choice to choice" value="null" />
-<P1  x="1048" y="795" id="529" />
-<P2  x="1728" y="865" id="451" />
+<P1  x="1048" y="795" id="539" />
+<P2  x="1728" y="865" id="461" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1140" >
+<CONNECTOR type="115" id="1151" >
 <cdparam x="1048" y="795" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from choice to choice" value="null" />
-<P1  x="1089" y="954" id="501" />
-<P2  x="1208" y="1010" id="471" />
+<P1  x="1089" y="954" id="511" />
+<P2  x="1208" y="1010" id="481" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1141" >
+<CONNECTOR type="115" id="1152" >
 <cdparam x="1008" y="610" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from read channel to execI" value="null" />
-<P1  x="1008" y="610" id="605" />
-<P2  x="1008" y="696" id="533" />
+<P1  x="1008" y="610" id="615" />
+<P2  x="1008" y="696" id="543" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1142" >
+<CONNECTOR type="115" id="1153" >
 <cdparam x="722" y="614" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from read channel to execI" value="null" />
-<P1  x="722" y="614" id="620" />
-<P2  x="722" y="689" id="489" />
+<P1  x="722" y="614" id="630" />
+<P2  x="722" y="689" id="499" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1143" >
+<CONNECTOR type="115" id="1154" >
 <cdparam x="504" y="597" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from choice to choice" value="null" />
-<P1  x="504" y="597" id="569" />
-<P2  x="572" y="702" id="483" />
+<P1  x="504" y="597" id="579" />
+<P2  x="572" y="702" id="493" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1144" >
+<CONNECTOR type="115" id="1155" >
 <cdparam x="464" y="637" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from choice to execI" value="null" />
-<P1  x="464" y="637" id="570" />
-<P2  x="464" y="778" id="537" />
+<P1  x="464" y="637" id="580" />
+<P2  x="464" y="778" id="547" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1145" >
+<CONNECTOR type="115" id="1156" >
 <cdparam x="424" y="597" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from choice to execI" value="null" />
-<P1  x="424" y="597" id="568" />
-<P2  x="346" y="759" id="517" />
+<P1  x="424" y="597" id="578" />
+<P2  x="346" y="759" id="527" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1146" >
+<CONNECTOR type="115" id="1157" >
 <cdparam x="289" y="619" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from choice to read channel" value="null" />
-<P1  x="289" y="619" id="578" />
-<P2  x="230" y="803" id="674" />
+<P1  x="289" y="619" id="588" />
+<P2  x="230" y="803" id="684" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1147" >
+<CONNECTOR type="115" id="1158" >
 <cdparam x="249" y="579" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from choice to execI" value="null" />
-<P1  x="249" y="579" id="576" />
-<P2  x="132" y="789" id="521" />
+<P1  x="249" y="579" id="586" />
+<P2  x="132" y="789" id="531" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1148" >
+<CONNECTOR type="115" id="1159" >
 <cdparam x="371" y="93" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from for loop to notified event" value="null" />
-<P1  x="320" y="99" id="608" />
-<P2  x="374" y="128" id="616" />
+<P1  x="320" y="99" id="618" />
+<P2  x="374" y="128" id="626" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1149" >
+<CONNECTOR type="115" id="1160" >
 <cdparam x="234" y="169" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from action state to stop state" value="null" />
-<P1  x="235" y="169" id="614" />
-<P2  x="235" y="202" id="611" />
+<P1  x="235" y="169" id="624" />
+<P2  x="235" y="202" id="621" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1150" >
+<CONNECTOR type="115" id="1161" >
 <cdparam x="234" y="104" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from for loop to action state" value="null" />
-<P1  x="235" y="110" id="609" />
-<P2  x="235" y="139" id="613" />
+<P1  x="235" y="110" id="619" />
+<P2  x="235" y="139" id="623" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1151" >
+<CONNECTOR type="115" id="1162" >
 <cdparam x="234" y="47" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from start state to for loop" value="null" />
-<P1  x="234" y="47" id="580" />
-<P2  x="235" y="80" id="607" />
+<P1  x="234" y="47" id="590" />
+<P2  x="235" y="80" id="617" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1152" >
+<CONNECTOR type="115" id="1163" >
 <cdparam x="425" y="162" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from notified event to choice" value="null" />
-<P1  x="374" y="158" id="617" />
-<P2  x="374" y="182" id="559" />
+<P1  x="374" y="158" id="627" />
+<P2  x="374" y="182" id="569" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1153" >
+<CONNECTOR type="115" id="1164" >
 <cdparam x="564" y="482" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from choice to wait event" value="null" />
-<P1  x="464" y="322" id="643" />
-<P2  x="722" y="529" id="622" />
+<P1  x="464" y="322" id="653" />
+<P2  x="722" y="529" id="632" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1154" >
+<CONNECTOR type="115" id="1165" >
 <cdparam x="722" y="559" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from wait event to read channel" value="null" />
-<P1  x="722" y="559" id="623" />
-<P2  x="722" y="584" id="619" />
+<P1  x="722" y="559" id="633" />
+<P2  x="722" y="584" id="629" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1155" >
+<CONNECTOR type="115" id="1166" >
 <cdparam x="604" y="442" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from choice to wait event" value="null" />
-<P1  x="504" y="282" id="639" />
-<P2  x="1008" y="523" id="625" />
+<P1  x="504" y="282" id="649" />
+<P2  x="1008" y="523" id="635" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1156" >
+<CONNECTOR type="115" id="1167" >
 <cdparam x="1007" y="553" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from wait event to read channel" value="null" />
-<P1  x="1008" y="553" id="626" />
-<P2  x="1008" y="580" id="604" />
+<P1  x="1008" y="553" id="636" />
+<P2  x="1008" y="580" id="614" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1157" >
+<CONNECTOR type="115" id="1168" >
 <cdparam x="524" y="442" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from choice to wait event" value="null" />
-<P1  x="464" y="322" id="640" />
-<P2  x="464" y="487" id="628" />
+<P1  x="464" y="322" id="650" />
+<P2  x="464" y="487" id="638" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1158" >
+<CONNECTOR type="115" id="1169" >
 <cdparam x="330" y="428" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from choice to wait event" value="null" />
-<P1  x="424" y="282" id="641" />
-<P2  x="289" y="463" id="631" />
+<P1  x="424" y="282" id="651" />
+<P2  x="289" y="463" id="641" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1159" >
+<CONNECTOR type="115" id="1170" >
 <cdparam x="318" y="520" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from wait event to choice" value="null" />
-<P1  x="289" y="493" id="632" />
-<P2  x="289" y="554" id="575" />
+<P1  x="289" y="493" id="642" />
+<P2  x="289" y="554" id="585" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1160" >
+<CONNECTOR type="115" id="1171" >
 <cdparam x="160" y="481" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from choice to action state" value="null" />
-<P1  x="148" y="501" id="552" />
-<P2  x="148" y="544" id="599" />
+<P1  x="148" y="501" id="562" />
+<P2  x="148" y="544" id="609" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1161" >
+<CONNECTOR type="115" id="1172" >
 <cdparam x="290" y="388" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from choice to wait event" value="null" />
-<P1  x="424" y="282" id="638" />
-<P2  x="188" y="378" id="634" />
+<P1  x="424" y="282" id="648" />
+<P2  x="188" y="378" id="644" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1162" >
+<CONNECTOR type="115" id="1173" >
 <cdparam x="229" y="467" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from wait event to choice" value="null" />
-<P1  x="188" y="408" id="635" />
-<P2  x="190" y="419" id="1759" />
+<P1  x="188" y="408" id="645" />
+<P2  x="190" y="419" id="399" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1163" >
+<CONNECTOR type="115" id="1174" >
 <cdparam x="228" y="501" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from choice to stop state" value="null" />
-<P1  x="228" y="501" id="553" />
-<P2  x="228" y="524" id="648" />
+<P1  x="228" y="501" id="563" />
+<P2  x="228" y="524" id="658" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1164" >
+<CONNECTOR type="115" id="1175" >
 <cdparam x="334" y="207" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from choice to wait event" value="null" />
-<P1  x="334" y="207" id="560" />
-<P2  x="301" y="223" id="652" />
+<P1  x="334" y="207" id="570" />
+<P2  x="301" y="223" id="662" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1165" >
+<CONNECTOR type="115" id="1176" >
 <cdparam x="301" y="253" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from wait event to stop state" value="null" />
-<P1  x="301" y="253" id="653" />
-<P2  x="301" y="285" id="655" />
+<P1  x="301" y="253" id="663" />
+<P2  x="301" y="285" id="665" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1166" >
+<CONNECTOR type="115" id="1177" >
 <cdparam x="464" y="517" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from wait event to choice" value="null" />
-<P1  x="464" y="517" id="629" />
-<P2  x="464" y="572" id="567" />
+<P1  x="464" y="517" id="639" />
+<P2  x="464" y="572" id="577" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1167" >
+<CONNECTOR type="115" id="1178" >
 <cdparam x="329" y="579" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from choice to stop state" value="null" />
-<P1  x="329" y="579" id="577" />
-<P2  x="329" y="609" id="650" />
+<P1  x="329" y="579" id="587" />
+<P2  x="329" y="609" id="660" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1168" >
+<CONNECTOR type="115" id="1179" >
 <cdparam x="126" y="574" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from action state to stop state" value="null" />
-<P1  x="148" y="574" id="600" />
-<P2  x="148" y="610" id="602" />
+<P1  x="148" y="574" id="610" />
+<P2  x="148" y="610" id="612" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1169" >
+<CONNECTOR type="115" id="1180" >
 <cdparam x="414" y="207" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from choice to select" value="null" />
-<P1  x="414" y="207" id="561" />
-<P2  x="464" y="257" id="637" />
+<P1  x="414" y="207" id="571" />
+<P2  x="464" y="257" id="647" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1170" >
+<CONNECTOR type="115" id="1181" >
 <cdparam x="230" y="833" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from read channel to execI" value="null" />
-<P1  x="230" y="833" id="675" />
-<P2  x="230" y="858" id="541" />
+<P1  x="230" y="833" id="685" />
+<P2  x="230" y="858" id="551" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1171" >
+<CONNECTOR type="115" id="1182" >
 <cdparam x="716" y="749" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from choice to choice" value="null" />
-<P1  x="968" y="795" id="528" />
-<P2  x="843" y="859" id="511" />
+<P1  x="968" y="795" id="538" />
+<P2  x="843" y="859" id="521" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1172" >
+<CONNECTOR type="115" id="1183" >
 <cdparam x="720" y="1074" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from action state to stop state" value="null" />
-<P1  x="728" y="990" id="724" />
-<P2  x="728" y="1027" id="726" />
+<P1  x="728" y="990" id="734" />
+<P2  x="728" y="1027" id="736" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1173" >
+<CONNECTOR type="115" id="1184" >
 <cdparam x="733" y="899" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from choice to action state" value="null" />
-<P1  x="803" y="884" id="512" />
-<P2  x="728" y="960" id="723" />
+<P1  x="803" y="884" id="522" />
+<P2  x="728" y="960" id="733" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1174" >
+<CONNECTOR type="115" id="1185" >
 <cdparam x="800" y="938" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from choice to execI" value="null" />
-<P1  x="843" y="924" id="514" />
-<P2  x="800" y="1004" id="505" />
+<P1  x="843" y="924" id="524" />
+<P2  x="800" y="1004" id="515" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1175" >
+<CONNECTOR type="115" id="1186" >
 <cdparam x="800" y="1057" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from execI to write channel" value="null" />
-<P1  x="800" y="1044" id="506" />
-<P2  x="800" y="1081" id="728" />
+<P1  x="800" y="1044" id="516" />
+<P2  x="800" y="1081" id="738" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1176" >
+<CONNECTOR type="115" id="1187" >
 <cdparam x="132" y="886" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from action state to write channel" value="null" />
-<P1  x="132" y="886" id="855" />
-<P2  x="132" y="933" id="690" />
+<P1  x="132" y="886" id="865" />
+<P2  x="132" y="933" id="700" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1177" >
+<CONNECTOR type="115" id="1188" >
 <cdparam x="943" y="1061" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from execI to write channel" value="null" />
-<P1  x="943" y="1060" id="494" />
-<P2  x="943" y="1118" id="773" />
+<P1  x="943" y="1060" id="504" />
+<P2  x="943" y="1118" id="783" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1178" >
+<CONNECTOR type="115" id="1189" >
 <cdparam x="1049" y="1093" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from execI to write channel" value="null" />
-<P1  x="1049" y="1092" id="546" />
-<P2  x="1049" y="1150" id="798" />
+<P1  x="1049" y="1092" id="556" />
+<P2  x="1049" y="1150" id="808" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1179" >
+<CONNECTOR type="115" id="1190" >
 <cdparam x="1049" y="994" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from choice to execI" value="null" />
-<P1  x="1049" y="994" id="502" />
-<P2  x="1049" y="1052" id="545" />
+<P1  x="1049" y="994" id="512" />
+<P2  x="1049" y="1052" id="555" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1180" >
+<CONNECTOR type="115" id="1191" >
 <cdparam x="696" y="742" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from execI to write channel" value="null" />
-<P1  x="722" y="729" id="490" />
-<P2  x="722" y="753" id="823" />
+<P1  x="722" y="729" id="500" />
+<P2  x="722" y="753" id="833" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1181" >
+<CONNECTOR type="115" id="1192" >
 <cdparam x="132" y="1125" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from send request to write channel" value="null" />
-<P1  x="132" y="1125" id="829" />
-<P2  x="132" y="1162" id="831" />
+<P1  x="132" y="1125" id="839" />
+<P2  x="132" y="1162" id="841" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1182" >
+<CONNECTOR type="115" id="1193" >
 <cdparam x="132" y="1192" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from write channel to stop state" value="null" />
-<P1  x="132" y="1192" id="832" />
-<P2  x="132" y="1231" id="834" />
+<P1  x="132" y="1192" id="842" />
+<P2  x="132" y="1231" id="844" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1183" >
+<CONNECTOR type="115" id="1194" >
 <cdparam x="132" y="1066" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from action state to send request" value="null" />
-<P1  x="132" y="1066" id="688" />
-<P2  x="132" y="1095" id="828" />
+<P1  x="132" y="1066" id="698" />
+<P2  x="132" y="1095" id="838" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1184" >
+<CONNECTOR type="115" id="1195" >
 <cdparam x="229" y="1127" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from send request to write channel" value="null" />
-<P1  x="230" y="1127" id="837" />
-<P2  x="230" y="1164" id="839" />
+<P1  x="230" y="1127" id="847" />
+<P2  x="230" y="1164" id="849" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1185" >
+<CONNECTOR type="115" id="1196" >
 <cdparam x="346" y="1131" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from send request to write channel" value="null" />
-<P1  x="346" y="1131" id="843" />
-<P2  x="346" y="1168" id="845" />
+<P1  x="346" y="1131" id="853" />
+<P2  x="346" y="1168" id="855" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1186" >
+<CONNECTOR type="115" id="1197" >
 <cdparam x="346" y="1051" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from action state to send request" value="null" />
-<P1  x="346" y="1051" id="694" />
-<P2  x="346" y="1101" id="842" />
+<P1  x="346" y="1051" id="704" />
+<P2  x="346" y="1101" id="852" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1187" >
+<CONNECTOR type="115" id="1198" >
 <cdparam x="437" y="1118" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from send request to write channel" value="null" />
-<P1  x="464" y="1115" id="849" />
-<P2  x="464" y="1154" id="851" />
+<P1  x="464" y="1115" id="859" />
+<P2  x="464" y="1154" id="861" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1188" >
+<CONNECTOR type="115" id="1199" >
 <cdparam x="438" y="1057" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from action state to send request" value="null" />
-<P1  x="464" y="1057" id="683" />
-<P2  x="464" y="1085" id="848" />
+<P1  x="464" y="1057" id="693" />
+<P2  x="464" y="1085" id="858" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1189" >
+<CONNECTOR type="115" id="1200" >
 <cdparam x="132" y="808" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from execI to action state" value="null" />
-<P1  x="132" y="829" id="522" />
-<P2  x="132" y="856" id="854" />
+<P1  x="132" y="829" id="532" />
+<P2  x="132" y="856" id="864" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1190" >
+<CONNECTOR type="115" id="1201" >
 <cdparam x="230" y="898" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from execI to action state" value="null" />
-<P1  x="230" y="898" id="542" />
-<P2  x="230" y="935" id="857" />
+<P1  x="230" y="898" id="552" />
+<P2  x="230" y="935" id="867" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1191" >
+<CONNECTOR type="115" id="1202" >
 <cdparam x="230" y="965" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from action state to write channel" value="null" />
-<P1  x="230" y="965" id="858" />
-<P2  x="230" y="997" id="677" />
+<P1  x="230" y="965" id="868" />
+<P2  x="230" y="997" id="687" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1192" >
+<CONNECTOR type="115" id="1203" >
 <cdparam x="346" y="799" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from execI to action state" value="null" />
-<P1  x="346" y="799" id="518" />
-<P2  x="346" y="826" id="863" />
+<P1  x="346" y="799" id="528" />
+<P2  x="346" y="826" id="873" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1193" >
+<CONNECTOR type="115" id="1204" >
 <cdparam x="346" y="856" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from action state to write channel" value="null" />
-<P1  x="346" y="856" id="864" />
-<P2  x="346" y="895" id="701" />
+<P1  x="346" y="856" id="874" />
+<P2  x="346" y="895" id="711" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1194" >
+<CONNECTOR type="115" id="1205" >
 <cdparam x="439" y="818" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from execI to action state" value="null" />
-<P1  x="464" y="818" id="538" />
-<P2  x="464" y="860" id="860" />
+<P1  x="464" y="818" id="548" />
+<P2  x="464" y="860" id="870" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1195" >
+<CONNECTOR type="115" id="1206" >
 <cdparam x="439" y="890" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from action state to write channel" value="null" />
-<P1  x="464" y="890" id="861" />
-<P2  x="464" y="936" id="698" />
+<P1  x="464" y="890" id="871" />
+<P2  x="464" y="936" id="708" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1196" >
+<CONNECTOR type="115" id="1207" >
 <cdparam x="132" y="963" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from write channel to send event" value="null" />
-<P1  x="132" y="963" id="691" />
-<P2  x="132" y="981" id="875" />
+<P1  x="132" y="963" id="701" />
+<P2  x="132" y="981" id="885" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1197" >
+<CONNECTOR type="115" id="1208" >
 <cdparam x="132" y="1011" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from send event to action state" value="null" />
-<P1  x="132" y="1011" id="876" />
-<P2  x="132" y="1036" id="687" />
+<P1  x="132" y="1011" id="886" />
+<P2  x="132" y="1036" id="697" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1198" >
+<CONNECTOR type="115" id="1209" >
 <cdparam x="230" y="1027" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from write channel to send event" value="null" />
-<P1  x="230" y="1027" id="678" />
-<P2  x="230" y="1047" id="866" />
+<P1  x="230" y="1027" id="688" />
+<P2  x="230" y="1047" id="876" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1199" >
+<CONNECTOR type="115" id="1210" >
 <cdparam x="228" y="1088" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from send event to send request" value="null" />
-<P1  x="230" y="1077" id="867" />
-<P2  x="230" y="1097" id="836" />
+<P1  x="230" y="1077" id="877" />
+<P2  x="230" y="1097" id="846" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1200" >
+<CONNECTOR type="115" id="1211" >
 <cdparam x="346" y="925" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from write channel to send event" value="null" />
-<P1  x="346" y="925" id="702" />
-<P2  x="346" y="957" id="869" />
+<P1  x="346" y="925" id="712" />
+<P2  x="346" y="957" id="879" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1201" >
+<CONNECTOR type="115" id="1212" >
 <cdparam x="348" y="987" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from send event to action state" value="null" />
-<P1  x="346" y="987" id="870" />
-<P2  x="346" y="1021" id="693" />
+<P1  x="346" y="987" id="880" />
+<P2  x="346" y="1021" id="703" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1202" >
+<CONNECTOR type="115" id="1213" >
 <cdparam x="439" y="966" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from write channel to send event" value="null" />
-<P1  x="464" y="966" id="699" />
-<P2  x="464" y="978" id="872" />
+<P1  x="464" y="966" id="709" />
+<P2  x="464" y="978" id="882" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1203" >
+<CONNECTOR type="115" id="1214" >
 <cdparam x="438" y="1008" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from send event to action state" value="null" />
-<P1  x="464" y="1008" id="873" />
-<P2  x="464" y="1027" id="682" />
+<P1  x="464" y="1008" id="883" />
+<P2  x="464" y="1027" id="692" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1204" >
+<CONNECTOR type="115" id="1215" >
 <cdparam x="722" y="783" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from write channel to send event" value="null" />
-<P1  x="722" y="783" id="824" />
-<P2  x="722" y="808" id="878" />
+<P1  x="722" y="783" id="834" />
+<P2  x="722" y="808" id="888" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1205" >
+<CONNECTOR type="115" id="1216" >
 <cdparam x="722" y="838" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from send event to stop state" value="null" />
-<P1  x="722" y="838" id="879" />
-<P2  x="722" y="860" id="826" />
+<P1  x="722" y="838" id="889" />
+<P2  x="722" y="860" id="836" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1206" >
+<CONNECTOR type="115" id="1217" >
 <cdparam x="800" y="1111" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from write channel to send event" value="null" />
-<P1  x="800" y="1111" id="729" />
-<P2  x="800" y="1136" id="881" />
+<P1  x="800" y="1111" id="739" />
+<P2  x="800" y="1136" id="891" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1207" >
+<CONNECTOR type="115" id="1218" >
 <cdparam x="798" y="1166" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from send event to action state" value="null" />
-<P1  x="800" y="1166" id="882" />
-<P2  x="800" y="1188" id="765" />
+<P1  x="800" y="1166" id="892" />
+<P2  x="800" y="1188" id="775" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1208" >
+<CONNECTOR type="115" id="1219" >
 <cdparam x="943" y="1148" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from write channel to send event" value="null" />
-<P1  x="943" y="1148" id="774" />
-<P2  x="943" y="1173" id="884" />
+<P1  x="943" y="1148" id="784" />
+<P2  x="943" y="1173" id="894" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1209" >
+<CONNECTOR type="115" id="1220" >
 <cdparam x="950" y="1201" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from send event to action state" value="null" />
-<P1  x="943" y="1203" id="885" />
-<P2  x="943" y="1229" id="793" />
+<P1  x="943" y="1203" id="895" />
+<P2  x="943" y="1229" id="803" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1210" >
+<CONNECTOR type="115" id="1221" >
 <cdparam x="1049" y="1180" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from write channel to send event" value="null" />
-<P1  x="1049" y="1180" id="799" />
-<P2  x="1049" y="1206" id="887" />
+<P1  x="1049" y="1180" id="809" />
+<P2  x="1049" y="1206" id="897" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1211" >
+<CONNECTOR type="115" id="1222" >
 <cdparam x="1049" y="1223" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from send event to action state" value="null" />
-<P1  x="1049" y="1236" id="888" />
-<P2  x="1049" y="1261" id="818" />
+<P1  x="1049" y="1236" id="898" />
+<P2  x="1049" y="1261" id="828" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1212" >
+<CONNECTOR type="115" id="1223" >
 <cdparam x="883" y="884" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from choice to stop state" value="null" />
-<P1  x="883" y="884" id="513" />
-<P2  x="883" y="917" id="892" />
+<P1  x="883" y="884" id="523" />
+<P2  x="883" y="917" id="902" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1213" >
+<CONNECTOR type="115" id="1224" >
 <cdparam x="612" y="727" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from choice to stop state" value="null" />
-<P1  x="612" y="727" id="485" />
-<P2  x="612" y="757" id="890" />
+<P1  x="612" y="727" id="495" />
+<P2  x="612" y="757" id="900" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1214" >
+<CONNECTOR type="115" id="1225" >
 <cdparam x="532" y="727" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from choice to action state" value="null" />
-<P1  x="532" y="727" id="484" />
-<P2  x="496" y="763" id="768" />
+<P1  x="532" y="727" id="494" />
+<P2  x="496" y="763" id="778" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1215" >
+<CONNECTOR type="115" id="1226" >
 <cdparam x="799" y="1218" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from action state to stop state" value="null" />
-<P1  x="800" y="1218" id="766" />
-<P2  x="800" y="1265" id="704" />
+<P1  x="800" y="1218" id="776" />
+<P2  x="800" y="1265" id="714" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1216" >
+<CONNECTOR type="115" id="1227" >
 <cdparam x="1009" y="954" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from choice to execI" value="null" />
-<P1  x="1009" y="954" id="500" />
-<P2  x="943" y="1020" id="493" />
+<P1  x="1009" y="954" id="510" />
+<P2  x="943" y="1020" id="503" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1217" >
+<CONNECTOR type="115" id="1228" >
 <cdparam x="229" y="1194" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from write channel to stop state" value="null" />
-<P1  x="230" y="1194" id="840" />
-<P2  x="230" y="1232" id="680" />
+<P1  x="230" y="1194" id="850" />
+<P2  x="230" y="1232" id="690" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1218" >
+<CONNECTOR type="115" id="1229" >
 <cdparam x="346" y="1198" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from write channel to stop state" value="null" />
-<P1  x="346" y="1198" id="846" />
-<P2  x="346" y="1224" id="696" />
+<P1  x="346" y="1198" id="856" />
+<P2  x="346" y="1224" id="706" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1219" >
+<CONNECTOR type="115" id="1230" >
 <cdparam x="438" y="1184" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from write channel to stop state" value="null" />
-<P1  x="464" y="1184" id="852" />
-<P2  x="464" y="1208" id="685" />
+<P1  x="464" y="1184" id="862" />
+<P2  x="464" y="1208" id="695" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1220" >
+<CONNECTOR type="115" id="1231" >
 <cdparam x="496" y="793" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from action state to stop state" value="null" />
-<P1  x="496" y="793" id="769" />
-<P2  x="496" y="825" id="771" />
+<P1  x="496" y="793" id="779" />
+<P2  x="496" y="825" id="781" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1221" >
+<CONNECTOR type="115" id="1232" >
 <cdparam x="943" y="1259" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from action state to stop state" value="null" />
-<P1  x="943" y="1259" id="794" />
-<P2  x="943" y="1306" id="796" />
+<P1  x="943" y="1259" id="804" />
+<P2  x="943" y="1306" id="806" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1222" >
+<CONNECTOR type="115" id="1233" >
 <cdparam x="1008" y="736" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from execI to choice" value="null" />
-<P1  x="1008" y="736" id="534" />
-<P2  x="1008" y="770" id="527" />
+<P1  x="1008" y="736" id="544" />
+<P2  x="1008" y="770" id="537" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1223" >
+<CONNECTOR type="115" id="1234" >
 <cdparam x="1008" y="835" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from choice to choice" value="null" />
-<P1  x="1008" y="835" id="530" />
-<P2  x="1049" y="929" id="499" />
+<P1  x="1008" y="835" id="540" />
+<P2  x="1049" y="929" id="509" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1224" >
+<CONNECTOR type="115" id="1235" >
 <cdparam x="1049" y="1291" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from action state to stop state" value="null" />
-<P1  x="1049" y="1291" id="819" />
-<P2  x="1049" y="1336" id="821" />
+<P1  x="1049" y="1291" id="829" />
+<P2  x="1049" y="1336" id="831" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1225" >
+<CONNECTOR type="115" id="1236" >
 <cdparam x="1208" y="1152" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from execI to write channel" value="null" />
-<P1  x="1208" y="1142" id="478" />
-<P2  x="1208" y="1209" id="894" />
+<P1  x="1208" y="1142" id="488" />
+<P2  x="1208" y="1209" id="904" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1226" >
+<CONNECTOR type="115" id="1237" >
 <cdparam x="1208" y="1239" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from write channel to action state" value="null" />
-<P1  x="1208" y="1239" id="895" />
-<P2  x="1208" y="1290" id="914" />
+<P1  x="1208" y="1239" id="905" />
+<P2  x="1208" y="1290" id="924" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1227" >
+<CONNECTOR type="115" id="1238" >
 <cdparam x="1208" y="1320" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from action state to send event" value="null" />
-<P1  x="1208" y="1320" id="915" />
-<P2  x="1208" y="1346" id="922" />
+<P1  x="1208" y="1320" id="925" />
+<P2  x="1208" y="1346" id="932" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1228" >
+<CONNECTOR type="115" id="1239" >
 <cdparam x="1206" y="1385" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from send event to action state" value="null" />
-<P1  x="1208" y="1376" id="923" />
-<P2  x="1208" y="1397" id="919" />
+<P1  x="1208" y="1376" id="933" />
+<P2  x="1208" y="1397" id="929" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1229" >
+<CONNECTOR type="115" id="1240" >
 <cdparam x="1206" y="1088" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from choice to execI" value="null" />
-<P1  x="1208" y="1075" id="474" />
-<P2  x="1208" y="1102" id="477" />
+<P1  x="1208" y="1075" id="484" />
+<P2  x="1208" y="1102" id="487" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1230" >
+<CONNECTOR type="115" id="1241" >
 <cdparam x="1248" y="1035" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from choice to stop state" value="null" />
-<P1  x="1248" y="1035" id="473" />
-<P2  x="1287" y="1065" id="925" />
+<P1  x="1248" y="1035" id="483" />
+<P2  x="1287" y="1065" id="935" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1231" >
+<CONNECTOR type="115" id="1242" >
 <cdparam x="1207" y="1427" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from action state to stop state" value="null" />
-<P1  x="1208" y="1427" id="920" />
-<P2  x="1208" y="1466" id="917" />
+<P1  x="1208" y="1427" id="930" />
+<P2  x="1208" y="1466" id="927" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1232" >
+<CONNECTOR type="115" id="1243" >
 <cdparam x="1553" y="1019" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from choice to execI" value="null" />
-<P1  x="1567" y="1021" id="444" />
-<P2  x="1529" y="1059" id="437" />
+<P1  x="1567" y="1021" id="454" />
+<P2  x="1529" y="1059" id="447" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1233" >
+<CONNECTOR type="115" id="1244" >
 <cdparam x="1529" y="1324" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from execI to write channel" value="null" />
-<P1  x="1529" y="1289" id="434" />
-<P2  x="1529" y="1343" id="932" />
+<P1  x="1529" y="1289" id="444" />
+<P2  x="1529" y="1343" id="942" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1234" >
+<CONNECTOR type="115" id="1245" >
 <cdparam x="1684" y="929" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from choice to send event" value="null" />
-<P1  x="1728" y="930" id="454" />
-<P2  x="1728" y="1021" id="935" />
+<P1  x="1728" y="930" id="464" />
+<P2  x="1728" y="1021" id="945" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1235" >
+<CONNECTOR type="115" id="1246" >
 <cdparam x="1615" y="1283" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from execI to write channel" value="null" />
-<P1  x="1641" y="1270" id="458" />
-<P2  x="1641" y="1294" id="972" />
+<P1  x="1641" y="1270" id="468" />
+<P2  x="1641" y="1294" id="982" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1236" >
+<CONNECTOR type="115" id="1247" >
 <cdparam x="1641" y="1324" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from write channel to send event" value="null" />
-<P1  x="1641" y="1324" id="973" />
-<P2  x="1641" y="1343" id="1014" />
+<P1  x="1641" y="1324" id="983" />
+<P2  x="1641" y="1343" id="1024" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1237" >
+<CONNECTOR type="115" id="1248" >
 <cdparam x="1529" y="1373" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from write channel to send event" value="null" />
-<P1  x="1529" y="1373" id="933" />
-<P2  x="1529" y="1400" id="1011" />
+<P1  x="1529" y="1373" id="943" />
+<P2  x="1529" y="1400" id="1021" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1238" >
+<CONNECTOR type="115" id="1249" >
 <cdparam x="1529" y="1422" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from send event to stop state" value="null" />
-<P1  x="1529" y="1430" id="1012" />
-<P2  x="1529" y="1452" id="927" />
+<P1  x="1529" y="1430" id="1022" />
+<P2  x="1529" y="1452" id="937" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1239" >
+<CONNECTOR type="115" id="1250" >
 <cdparam x="1642" y="1373" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from send event to write channel" value="null" />
-<P1  x="1641" y="1373" id="1015" />
-<P2  x="1641" y="1399" id="1017" />
+<P1  x="1641" y="1373" id="1025" />
+<P2  x="1641" y="1399" id="1027" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1240" >
+<CONNECTOR type="115" id="1251" >
 <cdparam x="1956" y="1361" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from choice to action state" value="null" />
-<P1  x="1956" y="1361" id="412" />
-<P2  x="1920" y="1406" id="1027" />
+<P1  x="1956" y="1361" id="422" />
+<P2  x="1920" y="1406" id="1037" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1241" >
+<CONNECTOR type="115" id="1252" >
 <cdparam x="2100" y="1490" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from action state to stop state" value="null" />
-<P1  x="2101" y="1491" id="1035" />
-<P2  x="2101" y="1532" id="1037" />
+<P1  x="2101" y="1491" id="1045" />
+<P2  x="2101" y="1532" id="1047" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1242" >
+<CONNECTOR type="115" id="1253" >
 <cdparam x="1996" y="1401" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from choice to action state" value="null" />
-<P1  x="1996" y="1401" id="414" />
-<P2  x="1996" y="1429" id="1042" />
+<P1  x="1996" y="1401" id="424" />
+<P2  x="1996" y="1429" id="1052" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1243" >
+<CONNECTOR type="115" id="1254" >
 <cdparam x="1996" y="1459" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from action state to action state" value="null" />
-<P1  x="1996" y="1459" id="1043" />
-<P2  x="1996" y="1488" id="1039" />
+<P1  x="1996" y="1459" id="1053" />
+<P2  x="1996" y="1488" id="1049" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1244" >
+<CONNECTOR type="115" id="1255" >
 <cdparam x="2021" y="1038" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from choice to execI" value="null" />
-<P1  x="2237" y="966" id="404" />
-<P2  x="2237" y="1054" id="461" />
+<P1  x="2237" y="966" id="414" />
+<P2  x="2237" y="1054" id="471" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1245" >
+<CONNECTOR type="115" id="1256" >
 <cdparam x="2217" y="1323" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from send request to write channel" value="null" />
-<P1  x="2237" y="1323" id="1085" />
-<P2  x="2237" y="1360" id="1087" />
+<P1  x="2237" y="1323" id="1095" />
+<P2  x="2237" y="1360" id="1097" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1246" >
+<CONNECTOR type="115" id="1257" >
 <cdparam x="2218" y="1094" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from execI to action state" value="null" />
-<P1  x="2237" y="1094" id="462" />
-<P2  x="2237" y="1131" id="1090" />
+<P1  x="2237" y="1094" id="472" />
+<P2  x="2237" y="1131" id="1100" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1247" >
+<CONNECTOR type="115" id="1258" >
 <cdparam x="2218" y="1161" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from action state to write channel" value="null" />
-<P1  x="2237" y="1161" id="1091" />
-<P2  x="2237" y="1193" id="1079" />
+<P1  x="2237" y="1161" id="1101" />
+<P2  x="2237" y="1193" id="1089" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1248" >
+<CONNECTOR type="115" id="1259" >
 <cdparam x="2218" y="1223" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from write channel to send event" value="null" />
-<P1  x="2237" y="1223" id="1080" />
-<P2  x="2237" y="1243" id="1093" />
+<P1  x="2237" y="1223" id="1090" />
+<P2  x="2237" y="1243" id="1103" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1249" >
+<CONNECTOR type="115" id="1260" >
 <cdparam x="2216" y="1284" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from send event to send request" value="null" />
-<P1  x="2237" y="1273" id="1094" />
-<P2  x="2237" y="1293" id="1084" />
+<P1  x="2237" y="1273" id="1104" />
+<P2  x="2237" y="1293" id="1094" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1250" >
+<CONNECTOR type="115" id="1261" >
 <cdparam x="2217" y="1390" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from write channel to action state" value="null" />
-<P1  x="2237" y="1390" id="1088" />
-<P2  x="2237" y="1419" id="1096" />
+<P1  x="2237" y="1390" id="1098" />
+<P2  x="2237" y="1419" id="1106" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1251" >
+<CONNECTOR type="115" id="1262" >
 <cdparam x="2341" y="1060" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from execI to write channel" value="null" />
-<P1  x="2317" y="1059" id="466" />
-<P2  x="2317" y="1117" id="1099" />
+<P1  x="2317" y="1059" id="476" />
+<P2  x="2317" y="1117" id="1109" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1252" >
+<CONNECTOR type="115" id="1263" >
 <cdparam x="1529" y="1099" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from execI to write channel" value="null" />
-<P1  x="1529" y="1099" id="438" />
-<P2  x="1529" y="1127" id="929" />
+<P1  x="1529" y="1099" id="448" />
+<P2  x="1529" y="1127" id="939" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1253" >
+<CONNECTOR type="115" id="1264" >
 <cdparam x="2101" y="1433" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from choice to action state" value="null" />
-<P1  x="2101" y="1433" id="398" />
-<P2  x="2101" y="1461" id="1034" />
+<P1  x="2101" y="1433" id="408" />
+<P2  x="2101" y="1461" id="1044" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1254" >
+<CONNECTOR type="115" id="1265" >
 <cdparam x="2158" y="1460" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from choice to stop state" value="null" />
-<P1  x="2141" y="1393" id="397" />
-<P2  x="2178" y="1416" id="1129" />
+<P1  x="2141" y="1393" id="407" />
+<P2  x="2178" y="1416" id="1139" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1255" >
+<CONNECTOR type="115" id="1266" >
 <cdparam x="1688" y="890" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from choice to choice" value="null" />
-<P1  x="1688" y="890" id="452" />
-<P2  x="1607" y="996" id="443" />
+<P1  x="1688" y="890" id="462" />
+<P2  x="1607" y="996" id="453" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1256" >
+<CONNECTOR type="115" id="1267" >
 <cdparam x="1768" y="890" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from choice to choice" value="null" />
-<P1  x="1768" y="890" id="453" />
-<P2  x="2277" y="941" id="403" />
+<P1  x="1768" y="890" id="463" />
+<P2  x="2277" y="941" id="413" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1257" >
+<CONNECTOR type="115" id="1268" >
 <cdparam x="2317" y="966" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from choice to execI" value="null" />
-<P1  x="2317" y="966" id="405" />
-<P2  x="2317" y="1019" id="465" />
+<P1  x="2317" y="966" id="415" />
+<P2  x="2317" y="1019" id="475" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1258" >
+<CONNECTOR type="115" id="1269" >
 <cdparam x="2341" y="1147" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from write channel to send event" value="null" />
-<P1  x="2317" y="1147" id="1100" />
-<P2  x="2317" y="1194" id="1124" />
+<P1  x="2317" y="1147" id="1110" />
+<P2  x="2317" y="1194" id="1134" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1259" >
+<CONNECTOR type="115" id="1270" >
 <cdparam x="2341" y="1224" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from send event to send event" value="null" />
-<P1  x="2317" y="1224" id="1125" />
-<P2  x="2317" y="1262" id="1119" />
+<P1  x="2317" y="1224" id="1135" />
+<P2  x="2317" y="1262" id="1129" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1260" >
+<CONNECTOR type="115" id="1271" >
 <cdparam x="1731" y="1051" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from send event to choice" value="null" />
-<P1  x="1728" y="1051" id="936" />
-<P2  x="1728" y="1081" id="1136" />
+<P1  x="1728" y="1051" id="946" />
+<P2  x="1728" y="1081" id="1146" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1261" >
+<CONNECTOR type="115" id="1272" >
 <cdparam x="1647" y="1021" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from choice to stop state" value="null" />
-<P1  x="1647" y="1021" id="445" />
-<P2  x="1647" y="1052" id="1127" />
+<P1  x="1647" y="1021" id="455" />
+<P2  x="1647" y="1052" id="1137" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<CONNECTOR type="115" id="1273" >
+<cdparam x="1826" y="1324" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector from choice to action state" value="null" />
+<P1  x="1826" y="1324" id="432" />
+<P2  x="1826" y="1344" id="1032" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<CONNECTOR type="115" id="1274" >
+<cdparam x="1826" y="1374" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector from action state to stop state" value="null" />
+<P1  x="1826" y="1374" id="1033" />
+<P2  x="1826" y="1452" id="1035" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<CONNECTOR type="115" id="1275" >
+<cdparam x="1786" y="1284" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector from choice to stop state" value="null" />
+<P1  x="1786" y="1284" id="430" />
+<P2  x="1740" y="1330" id="1030" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<CONNECTOR type="115" id="1276" >
+<cdparam x="1920" y="1436" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector from action state to stop state" value="null" />
+<P1  x="1920" y="1436" id="1038" />
+<P2  x="1920" y="1476" id="1040" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<CONNECTOR type="115" id="1277" >
+<cdparam x="1996" y="1518" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector from action state to stop state" value="null" />
+<P1  x="1996" y="1518" id="1050" />
+<P2  x="1996" y="1538" id="1042" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<CONNECTOR type="115" id="1278" >
+<cdparam x="2036" y="1361" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector from choice to choice" value="null" />
+<P1  x="2036" y="1361" id="423" />
+<P2  x="2101" y="1368" id="405" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<CONNECTOR type="115" id="1279" >
+<cdparam x="1866" y="1284" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector from choice to choice" value="null" />
+<P1  x="1866" y="1284" id="431" />
+<P2  x="1996" y="1336" id="421" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<CONNECTOR type="115" id="1280" >
+<cdparam x="2341" y="1292" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector from action state to stop state" value="null" />
+<P1  x="2317" y="1292" id="1130" />
+<P2  x="2317" y="1319" id="1132" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<CONNECTOR type="115" id="1281" >
+<cdparam x="2217" y="1449" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector from action state to stop state" value="null" />
+<P1  x="2237" y="1449" id="1107" />
+<P2  x="2237" y="1478" id="1092" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<CONNECTOR type="115" id="1282" >
+<cdparam x="2277" y="1006" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector from choice to stop state" value="null" />
+<P1  x="2277" y="1006" id="416" />
+<P2  x="2277" y="1034" id="1141" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<CONNECTOR type="115" id="1283" >
+<cdparam x="1642" y="1429" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector from write channel to stop state" value="null" />
+<P1  x="1641" y="1429" id="1028" />
+<P2  x="1641" y="1463" id="985" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<CONNECTOR type="115" id="1284" >
+<cdparam x="1529" y="1157" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector from write channel to send event" value="null" />
+<P1  x="1529" y="1157" id="940" />
+<P2  x="1529" y="1187" id="1143" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<CONNECTOR type="115" id="1285" >
+<cdparam x="1529" y="1217" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector from send event to execI" value="null" />
+<P1  x="1529" y="1217" id="1144" />
+<P2  x="1529" y="1249" id="443" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<CONNECTOR type="115" id="1286" >
+<cdparam x="1691" y="1156" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector from choice to execI" value="null" />
+<P1  x="1688" y="1156" id="438" />
+<P2  x="1641" y="1230" id="467" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<CONNECTOR type="115" id="1287" >
+<cdparam x="1771" y="1156" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector from choice to choice" value="null" />
+<P1  x="1768" y="1156" id="439" />
+<P2  x="1826" y="1259" id="429" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<CONNECTOR type="115" id="1288" >
+<cdparam x="1731" y="1111" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector from read channel to choice" value="null" />
+<P1  x="1728" y="1111" id="1147" />
+<P2  x="1728" y="1131" id="437" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+
+</TMLActivityDiagramPanel>
+
+<TMLActivityDiagramPanel name="Timer" minX="10" maxX="1400" minY="10" maxY="900" >
+<COMPONENT type="1028" id="1292" >
+<cdparam x="525" y="78" />
+<sizeparam width="10" height="30" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
+<infoparam name="delayInterval" value="null" />
+<TGConnectingPoint num="0" id="1290" />
+<TGConnectingPoint num="1" id="1291" />
+</COMPONENT>
+<SUBCOMPONENT type="-1" id="1289" >
+<father id="1292" num="0" />
+<cdparam x="540" y="98" />
+<sizeparam width="70" height="15" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="-75" maxX="30" minY="10" maxY="30" />
+<infoparam name="value of the interval delay" value="[10, 10] ms" />
+<extraparam>
+<TimeDelay minDelay="10" maxDelay="10" hasMaxDelay="true" unit="ms" />
+</extraparam>
+</SUBCOMPONENT>
+
+<COMPONENT type="1012" id="1300" >
+<cdparam x="509" y="222" />
+<sizeparam width="30" height="30" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
+<infoparam name="choice" value="null" />
+<TGConnectingPoint num="0" id="1296" />
+<TGConnectingPoint num="1" id="1297" />
+<TGConnectingPoint num="2" id="1298" />
+<TGConnectingPoint num="3" id="1299" />
+</COMPONENT>
+<SUBCOMPONENT type="-1" id="1293" >
+<father id="1300" num="0" />
+<cdparam x="464" y="232" />
+<sizeparam width="51" height="15" minWidth="10" minHeight="0" 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="[ x==0 ]" />
+</SUBCOMPONENT>
+<SUBCOMPONENT type="-1" id="1294" >
+<father id="1300" num="1" />
+<cdparam x="544" y="234" />
+<sizeparam width="41" height="15" minWidth="10" minHeight="0" 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="[ x&gt;0 ]" />
+</SUBCOMPONENT>
+<SUBCOMPONENT type="-1" id="1295" >
+<father id="1300" num="2" />
+<cdparam x="529" y="267" />
+<sizeparam width="12" height="15" minWidth="10" minHeight="0" 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="1302" >
+<cdparam x="489" y="26" />
+<sizeparam width="15" height="15" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
+<infoparam name="start state" value="null" />
+<TGConnectingPoint num="0" id="1301" />
+</COMPONENT>
+
+<COMPONENT type="1001" id="1304" >
+<cdparam x="417" y="407" />
+<sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
+<infoparam name="stop state" value="null" />
+<TGConnectingPoint num="0" id="1303" />
+</COMPONENT>
+
+<COMPONENT type="1008" id="1307" >
+<cdparam x="396" y="339" />
+<sizeparam width="63" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
+<infoparam name="send event" value="timeOut()" />
+<TGConnectingPoint num="0" id="1305" />
+<TGConnectingPoint num="1" id="1306" />
+<extraparam>
+<Data eventName="timeOut" nbOfParams="5" />
+</extraparam>
+</COMPONENT>
+
+<COMPONENT type="1010" id="1310" >
+<cdparam x="599" y="300" />
+<sizeparam width="47" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
+<infoparam name="wait event" value="stop() " />
+<TGConnectingPoint num="0" id="1308" />
+<TGConnectingPoint num="1" id="1309" />
+<extraparam>
+<Data eventName="stop" nbOfParams="5" />
+</extraparam>
+</COMPONENT>
+
+<COMPONENT type="1001" id="1312" >
+<cdparam x="612" y="365" />
+<sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
+<infoparam name="stop state" value="null" />
+<TGConnectingPoint num="0" id="1311" />
+</COMPONENT>
+
+<COMPONENT type="1017" id="1315" >
+<cdparam x="491" y="157" />
+<sizeparam width="70" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
+<infoparam name="notified event" value="x=?stop()" />
+<TGConnectingPoint num="0" id="1313" />
+<TGConnectingPoint num="1" id="1314" />
+<extraparam>
+<Data eventName="stop" variable="x" />
+</extraparam>
+</COMPONENT>
+
+<CONNECTOR type="115" id="1316" >
+<cdparam x="530" y="113" />
+<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="113" id="1291" />
+<P2  x="526" y="152" id="1313" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<CONNECTOR type="115" id="1317" >
+<cdparam x="484" y="237" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="null" />
+<P1  x="484" y="237" id="1297" />
+<P2  x="427" y="334" id="1305" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<CONNECTOR type="115" id="1318" >
+<cdparam x="427" y="364" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector from send event to stop state" value="null" />
+<P1  x="427" y="364" id="1306" />
+<P2  x="427" y="402" id="1303" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<CONNECTOR type="115" id="1319" >
+<cdparam x="622" y="325" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector from wait event to stop state" value="null" />
+<P1  x="622" y="325" id="1309" />
+<P2  x="622" y="360" id="1311" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<CONNECTOR type="115" id="1320" >
+<cdparam x="526" y="114" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector from start state to notified event" value="null" />
+<P1  x="496" y="46" id="1301" />
+<P2  x="530" y="73" id="1290" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<CONNECTOR type="115" id="1321" >
+<cdparam x="524" y="175" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector from notified event to choice" value="null" />
+<P1  x="526" y="182" id="1314" />
+<P2  x="524" y="212" id="1296" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<CONNECTOR type="115" id="1322" >
+<cdparam x="564" y="237" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector from choice to wait event" value="null" />
+<P1  x="564" y="237" id="1298" />
+<P2  x="622" y="295" id="1308" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+
+</TMLActivityDiagramPanel>
+
+<TMLActivityDiagramPanel name="SmartCard" minX="10" maxX="1400" minY="10" maxY="900" >
+<COMPONENT type="1010" id="1325" >
+<cdparam x="238" y="201" />
+<sizeparam width="129" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
+<infoparam name="wait event" value="connectionOpened() " />
+<TGConnectingPoint num="0" id="1323" />
+<TGConnectingPoint num="1" id="1324" />
+<extraparam>
+<Data eventName="connectionOpened" nbOfParams="5" />
+</extraparam>
+</COMPONENT>
+
+<COMPONENT type="1000" id="1327" >
+<cdparam x="159" y="66" />
+<sizeparam width="15" height="15" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
+<infoparam name="start state" value="null" />
+<TGConnectingPoint num="0" id="1326" />
+</COMPONENT>
+
+<COMPONENT type="1010" id="1330" >
+<cdparam x="141" y="129" />
+<sizeparam width="51" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
+<infoparam name="wait event" value="reset() " />
+<TGConnectingPoint num="0" id="1328" />
+<TGConnectingPoint num="1" id="1329" />
+<extraparam>
+<Data eventName="reset" nbOfParams="5" />
+</extraparam>
+</COMPONENT>
+
+<COMPONENT type="1008" id="1333" >
+<cdparam x="113" y="182" />
+<sizeparam width="106" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
+<infoparam name="send event" value="answerToReset()" />
+<TGConnectingPoint num="0" id="1331" />
+<TGConnectingPoint num="1" id="1332" />
+<extraparam>
+<Data eventName="answerToReset" nbOfParams="5" />
+</extraparam>
+</COMPONENT>
+
+<COMPONENT type="1010" id="1336" >
+<cdparam x="144" y="237" />
+<sizeparam width="44" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
+<infoparam name="wait event" value="pTS() " />
+<TGConnectingPoint num="0" id="1334" />
+<TGConnectingPoint num="1" id="1335" />
+<extraparam>
+<Data eventName="pTS" nbOfParams="5" />
+</extraparam>
+</COMPONENT>
+
+<COMPONENT type="1008" id="1339" >
+<cdparam x="124" y="308" />
+<sizeparam width="85" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
+<infoparam name="send event" value="pTSConfirm()" />
+<TGConnectingPoint num="0" id="1337" />
+<TGConnectingPoint num="1" id="1338" />
+<extraparam>
+<Data eventName="pTSConfirm" nbOfParams="5" />
+</extraparam>
+</COMPONENT>
+
+<COMPONENT type="301" id="1356" >
+<cdparam x="376" y="98" />
+<sizeparam width="233" height="39" minWidth="50" minHeight="20" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
+<infoparam name="UML Note" value="The first two layers of the OSI model 
+are used to communicate between 
+the smart card and the terminal
+" />
+<TGConnectingPoint num="0" id="1340" />
+<TGConnectingPoint num="1" id="1341" />
+<TGConnectingPoint num="2" id="1342" />
+<TGConnectingPoint num="3" id="1343" />
+<TGConnectingPoint num="4" id="1344" />
+<TGConnectingPoint num="5" id="1345" />
+<TGConnectingPoint num="6" id="1346" />
+<TGConnectingPoint num="7" id="1347" />
+<TGConnectingPoint num="8" id="1348" />
+<TGConnectingPoint num="9" id="1349" />
+<TGConnectingPoint num="10" id="1350" />
+<TGConnectingPoint num="11" id="1351" />
+<TGConnectingPoint num="12" id="1352" />
+<TGConnectingPoint num="13" id="1353" />
+<TGConnectingPoint num="14" id="1354" />
+<TGConnectingPoint num="15" id="1355" />
+<extraparam>
+<Line value="The first two layers of the OSI model " />
+<Line value="are used to communicate between " />
+<Line value="the smart card and the terminal" />
+</extraparam>
+</COMPONENT>
+
+<COMPONENT type="1007" id="1359" >
+<cdparam x="254" y="97" />
+<sizeparam width="89" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
+<infoparam name="send request" value="start_TCP_IP()" />
+<TGConnectingPoint num="0" id="1357" />
+<TGConnectingPoint num="1" id="1358" />
+<extraparam>
+<Data requestName="start_TCP_IP" nbOfParams="5" />
+</extraparam>
+</COMPONENT>
+
+<COMPONENT type="1007" id="1362" >
+<cdparam x="241" y="148" />
+<sizeparam width="114" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
+<infoparam name="send request" value="start_Application()" />
+<TGConnectingPoint num="0" id="1360" />
+<TGConnectingPoint num="1" id="1361" />
+<breakpoint />
+<extraparam>
+<Data requestName="start_Application" nbOfParams="5" />
+</extraparam>
+</COMPONENT>
+
+<COMPONENT type="1001" id="1364" >
+<cdparam x="515" y="487" />
+<sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
+<infoparam name="stop state" value="null" />
+<TGConnectingPoint num="0" id="1363" />
+</COMPONENT>
+
+<COMPONENT type="1008" id="1367" >
+<cdparam x="309" y="409" />
+<sizeparam width="106" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
+<infoparam name="send event" value="data_Ready_SC()" />
+<TGConnectingPoint num="0" id="1365" />
+<TGConnectingPoint num="1" id="1366" />
+<extraparam>
+<Data eventName="data_Ready_SC" nbOfParams="5" />
+</extraparam>
+</COMPONENT>
+
+<COMPONENT type="1001" id="1369" >
+<cdparam x="352" y="485" />
+<sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
+<infoparam name="stop state" value="null" />
+<TGConnectingPoint num="0" id="1368" />
+</COMPONENT>
+
+<COMPONENT type="1009" id="1372" >
+<cdparam x="321" y="367" />
+<sizeparam width="83" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
+<infoparam name="read channel" value="fromTtoP(1) " />
+<TGConnectingPoint num="0" id="1370" />
+<TGConnectingPoint num="1" id="1371" />
+<extraparam>
+<Data channelName="fromTtoP" nbOfSamples="1" secPattern="" isAttacker="No" />
+</extraparam>
+</COMPONENT>
+
+<COMPONENT type="1010" id="1375" >
+<cdparam x="337" y="323" />
+<sizeparam width="50" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
+<infoparam name="wait event" value="send() " />
+<TGConnectingPoint num="0" id="1373" />
+<TGConnectingPoint num="1" id="1374" />
+<extraparam>
+<Data eventName="send" nbOfParams="5" />
+</extraparam>
+</COMPONENT>
+
+<COMPONENT type="1006" id="1378" >
+<cdparam x="319" y="451" />
+<sizeparam width="87" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
+<infoparam name="write channel" value="fromSCtoD(1)" />
+<TGConnectingPoint num="0" id="1376" />
+<TGConnectingPoint num="1" id="1377" />
+<extraparam>
+<Data channelName="fromSCtoD" nbOfSamples="1" secPattern="" isAttacker="No" />
+</extraparam>
+</COMPONENT>
+
+<COMPONENT type="1008" id="1381" >
+<cdparam x="496" y="409" />
+<sizeparam width="59" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
+<infoparam name="send event" value="receive()" />
+<TGConnectingPoint num="0" id="1379" />
+<TGConnectingPoint num="1" id="1380" />
+<extraparam>
+<Data eventName="receive" nbOfParams="5" />
+</extraparam>
+</COMPONENT>
+
+<COMPONENT type="1009" id="1384" >
+<cdparam x="480" y="370" />
+<sizeparam width="91" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
+<infoparam name="read channel" value="fromDtoSC(1) " />
+<TGConnectingPoint num="0" id="1382" />
+<TGConnectingPoint num="1" id="1383" />
+<extraparam>
+<Data channelName="fromDtoSC" nbOfSamples="1" secPattern="" isAttacker="No" />
+</extraparam>
+</COMPONENT>
+
+<COMPONENT type="1006" id="1387" >
+<cdparam x="486" y="446" />
+<sizeparam width="79" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
+<infoparam name="write channel" value="fromPtoT(1)" />
+<TGConnectingPoint num="0" id="1385" />
+<TGConnectingPoint num="1" id="1386" />
+<extraparam>
+<Data channelName="fromPtoT" nbOfSamples="1" secPattern="" isAttacker="No" />
+</extraparam>
+</COMPONENT>
+
+<COMPONENT type="1010" id="1390" >
+<cdparam x="470" y="327" />
+<sizeparam width="110" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
+<infoparam name="wait event" value="data_Ready(t, b) " />
+<TGConnectingPoint num="0" id="1388" />
+<TGConnectingPoint num="1" id="1389" />
+<breakpoint />
+<extraparam>
+<Data eventName="data_Ready" nbOfParams="5" />
+<Param index="0" value="t" />
+<Param index="1" value="b" />
+</extraparam>
+</COMPONENT>
+
+<COMPONENT type="1014" id="1394" >
+<cdparam x="236" y="261" />
+<sizeparam width="125" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
+<infoparam name="for loop" value="for(j=0;x==0;j = j)" />
+<TGConnectingPoint num="0" id="1391" />
+<TGConnectingPoint num="1" id="1392" />
+<TGConnectingPoint num="2" id="1393" />
+<extraparam>
+<Data init="j=0" condition="x==0" increment="j = j" />
+</extraparam>
+</COMPONENT>
+
+<COMPONENT type="1001" id="1396" >
+<cdparam x="275" y="309" />
+<sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
+<infoparam name="stop state" value="null" />
+<TGConnectingPoint num="0" id="1395" />
+</COMPONENT>
+
+<COMPONENT type="1018" id="1407" >
+<cdparam x="424" y="285" />
+<sizeparam width="30" height="30" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
+<infoparam name="select" value="null" />
+<TGConnectingPoint num="0" id="1397" />
+<TGConnectingPoint num="1" id="1398" />
+<TGConnectingPoint num="2" id="1399" />
+<TGConnectingPoint num="3" id="1400" />
+<TGConnectingPoint num="4" id="1401" />
+<TGConnectingPoint num="5" id="1402" />
+<TGConnectingPoint num="6" id="1403" />
+<TGConnectingPoint num="7" id="1404" />
+<TGConnectingPoint num="8" id="1405" />
+<TGConnectingPoint num="9" id="1406" />
+</COMPONENT>
+
+<CONNECTOR type="115" id="1408" >
+<cdparam x="302" y="227" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="null" />
+<P1  x="302" y="226" id="1324" />
+<P2  x="298" y="256" id="1391" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<CONNECTOR type="115" id="1413" >
+<cdparam x="111" y="331" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector from send event to send request" value="null" />
+<P1  x="166" y="333" id="1338" />
+<P2  x="298" y="92" id="1357" />
+<Point x="166" y="353" />
+<Point x="225" y="353" />
+<Point x="225" y="72" />
+<Point x="278" y="72" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR><SUBCOMPONENT type="-1" id="1409" >
+<father id="1413" num="0" />
+<cdparam x="166" y="353" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="1400" />
+<infoparam name="point " value="null" />
+</SUBCOMPONENT>
+<SUBCOMPONENT type="-1" id="1410" >
+<father id="1413" num="1" />
+<cdparam x="225" y="353" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="1400" />
+<infoparam name="point " value="null" />
+</SUBCOMPONENT>
+<SUBCOMPONENT type="-1" id="1411" >
+<father id="1413" num="2" />
+<cdparam x="225" y="72" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="1400" />
+<infoparam name="point " value="null" />
+</SUBCOMPONENT>
+<SUBCOMPONENT type="-1" id="1412" >
+<father id="1413" num="3" />
+<cdparam x="278" y="72" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="1400" />
+<infoparam name="point " value="null" />
+</SUBCOMPONENT>
+
+<CONNECTOR type="115" id="1414" >
+<cdparam x="166" y="64" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector from start state to wait event" value="null" />
+<P1  x="166" y="86" id="1326" />
+<P2  x="166" y="124" id="1328" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1262" >
-<cdparam x="1826" y="1324" />
+<CONNECTOR type="115" id="1415" >
+<cdparam x="166" y="154" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<infoparam name="connector from choice to action state" value="null" />
-<P1  x="1826" y="1324" id="422" />
-<P2  x="1826" y="1344" id="1022" />
+<infoparam name="connector from wait event to send event" value="null" />
+<P1  x="166" y="154" id="1329" />
+<P2  x="166" y="177" id="1331" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1263" >
-<cdparam x="1826" y="1374" />
+<CONNECTOR type="115" id="1416" >
+<cdparam x="312" y="133" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<infoparam name="connector from action state to stop state" value="null" />
-<P1  x="1826" y="1374" id="1023" />
-<P2  x="1826" y="1452" id="1025" />
+<infoparam name="connector from send request to send request" value="null" />
+<P1  x="298" y="122" id="1358" />
+<P2  x="298" y="143" id="1360" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1264" >
-<cdparam x="1786" y="1284" />
+<CONNECTOR type="115" id="1417" >
+<cdparam x="355" y="359" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<infoparam name="connector from choice to stop state" value="null" />
-<P1  x="1786" y="1284" id="420" />
-<P2  x="1740" y="1330" id="1020" />
+<infoparam name="connector from wait event to read channel" value="null" />
+<P1  x="362" y="348" id="1374" />
+<P2  x="362" y="362" id="1370" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1265" >
-<cdparam x="1920" y="1436" />
+<CONNECTOR type="115" id="1418" >
+<cdparam x="355" y="424" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<infoparam name="connector from action state to stop state" value="null" />
-<P1  x="1920" y="1436" id="1028" />
-<P2  x="1920" y="1476" id="1030" />
+<infoparam name="connector from read channel to send event" value="null" />
+<P1  x="362" y="392" id="1371" />
+<P2  x="362" y="404" id="1365" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1266" >
-<cdparam x="1996" y="1518" />
+<CONNECTOR type="115" id="1419" >
+<cdparam x="355" y="476" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<infoparam name="connector from action state to stop state" value="null" />
-<P1  x="1996" y="1518" id="1040" />
-<P2  x="1996" y="1538" id="1032" />
+<infoparam name="connector from send event to write channel" value="null" />
+<P1  x="362" y="434" id="1366" />
+<P2  x="362" y="446" id="1376" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1267" >
-<cdparam x="2036" y="1361" />
+<CONNECTOR type="115" id="1420" >
+<cdparam x="355" y="532" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<infoparam name="connector from choice to choice" value="null" />
-<P1  x="2036" y="1361" id="413" />
-<P2  x="2101" y="1368" id="395" />
+<infoparam name="connector from write channel to stop state" value="null" />
+<P1  x="362" y="476" id="1377" />
+<P2  x="362" y="480" id="1368" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1268" >
-<cdparam x="1866" y="1284" />
+<CONNECTOR type="115" id="1421" >
+<cdparam x="541" y="417" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<infoparam name="connector from choice to choice" value="null" />
-<P1  x="1866" y="1284" id="421" />
-<P2  x="1996" y="1336" id="411" />
+<infoparam name="connector from read channel to send event" value="null" />
+<P1  x="525" y="395" id="1383" />
+<P2  x="525" y="404" id="1379" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1269" >
-<cdparam x="2341" y="1292" />
+<CONNECTOR type="115" id="1422" >
+<cdparam x="540" y="461" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<infoparam name="connector from action state to stop state" value="null" />
-<P1  x="2317" y="1292" id="1120" />
-<P2  x="2317" y="1319" id="1122" />
+<infoparam name="connector from send event to write channel" value="null" />
+<P1  x="525" y="434" id="1380" />
+<P2  x="525" y="441" id="1385" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1270" >
-<cdparam x="2217" y="1449" />
+<CONNECTOR type="115" id="1423" >
+<cdparam x="543" y="364" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<infoparam name="connector from action state to stop state" value="null" />
-<P1  x="2237" y="1449" id="1097" />
-<P2  x="2237" y="1478" id="1082" />
+<infoparam name="connector from wait event to read channel" value="null" />
+<P1  x="525" y="352" id="1389" />
+<P2  x="525" y="365" id="1382" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1271" >
-<cdparam x="2277" y="1006" />
+<CONNECTOR type="115" id="1424" >
+<cdparam x="540" y="523" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<infoparam name="connector from choice to stop state" value="null" />
-<P1  x="2277" y="1006" id="406" />
-<P2  x="2277" y="1034" id="1131" />
+<infoparam name="connector from write channel to stop state" value="null" />
+<P1  x="525" y="471" id="1386" />
+<P2  x="525" y="482" id="1363" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1272" >
-<cdparam x="1642" y="1429" />
+<CONNECTOR type="115" id="1425" >
+<cdparam x="298" y="173" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<infoparam name="connector from write channel to stop state" value="null" />
-<P1  x="1641" y="1429" id="1018" />
-<P2  x="1641" y="1463" id="975" />
+<infoparam name="connector from send request to for loop" value="null" />
+<P1  x="298" y="173" id="1361" />
+<P2  x="302" y="196" id="1323" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1273" >
-<cdparam x="1529" y="1157" />
+<CONNECTOR type="115" id="1426" >
+<cdparam x="328" y="291" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<infoparam name="connector from write channel to send event" value="null" />
-<P1  x="1529" y="1157" id="930" />
-<P2  x="1529" y="1187" id="1133" />
+<infoparam name="connector from for loop to stop state" value="null" />
+<P1  x="298" y="286" id="1393" />
+<P2  x="285" y="304" id="1395" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1274" >
-<cdparam x="1529" y="1217" />
+<CONNECTOR type="115" id="1427" >
+<cdparam x="395" y="342" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<infoparam name="connector from send event to execI" value="null" />
-<P1  x="1529" y="1217" id="1134" />
-<P2  x="1529" y="1249" id="433" />
+<infoparam name="connector from select to wait event" value="null" />
+<P1  x="399" y="300" id="1398" />
+<P2  x="362" y="318" id="1373" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1275" >
-<cdparam x="1691" y="1156" />
+<CONNECTOR type="115" id="1428" >
+<cdparam x="543" y="400" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<infoparam name="connector from choice to execI" value="null" />
-<P1  x="1688" y="1156" id="428" />
-<P2  x="1641" y="1230" id="457" />
+<infoparam name="connector from select to wait event" value="null" />
+<P1  x="479" y="300" id="1399" />
+<P2  x="525" y="322" id="1388" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1276" >
-<cdparam x="1771" y="1156" />
+<CONNECTOR type="115" id="1429" >
+<cdparam x="391" y="341" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<infoparam name="connector from choice to choice" value="null" />
-<P1  x="1768" y="1156" id="429" />
-<P2  x="1826" y="1259" id="419" />
+<infoparam name="connector from for loop to select" value="null" />
+<P1  x="361" y="275" id="1392" />
+<P2  x="439" y="275" id="1397" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1277" >
-<cdparam x="1731" y="1111" />
+<CONNECTOR type="115" id="1430" >
+<cdparam x="164" y="262" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<infoparam name="connector from read channel to choice" value="null" />
-<P1  x="1728" y="1111" id="1137" />
-<P2  x="1728" y="1131" id="427" />
+<infoparam name="connector from wait event to send event" value="null" />
+<P1  x="166" y="262" id="1335" />
+<P2  x="166" y="303" id="1337" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-
-</TMLActivityDiagramPanel>
-
-<TMLActivityDiagramPanel name="SmartCard" minX="10" maxX="1400" minY="10" maxY="900" >
-<CONNECTOR type="115" id="1757" >
-<cdparam x="302" y="227" />
-<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<infoparam name="connector" value="null" />
-<P1  x="302" y="226" id="1756" />
-<P2  x="298" y="256" id="1343" />
+<CONNECTOR type="115" id="1431" >
+<cdparam x="166" y="207" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector from send event to wait event" value="null" />
+<P1  x="166" y="207" id="1332" />
+<P2  x="166" y="232" id="1334" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<COMPONENT type="1010" id="1754" >
-<cdparam x="238" y="201" />
-<sizeparam width="129" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<hidden value="false" />
-<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
-<infoparam name="wait event" value="connectionOpened() " />
-<TGConnectingPoint num="0" id="1755" />
-<TGConnectingPoint num="1" id="1756" />
-<extraparam>
-<Data eventName="connectionOpened" nbOfParams="5" />
-</extraparam>
-</COMPONENT>
-
-<COMPONENT type="1000" id="1279" >
-<cdparam x="159" y="66" />
-<sizeparam width="15" height="15" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<hidden value="false" />
-<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
-<infoparam name="start state" value="null" />
-<TGConnectingPoint num="0" id="1278" />
-</COMPONENT>
-
-<COMPONENT type="1010" id="1282" >
-<cdparam x="141" y="129" />
-<sizeparam width="51" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<hidden value="false" />
-<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
-<infoparam name="wait event" value="reset() " />
-<TGConnectingPoint num="0" id="1280" />
-<TGConnectingPoint num="1" id="1281" />
-<extraparam>
-<Data eventName="reset" nbOfParams="5" />
-</extraparam>
-</COMPONENT>
-
-<COMPONENT type="1008" id="1285" >
-<cdparam x="113" y="182" />
-<sizeparam width="106" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<hidden value="false" />
-<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
-<infoparam name="send event" value="answerToReset()" />
-<TGConnectingPoint num="0" id="1283" />
-<TGConnectingPoint num="1" id="1284" />
-<extraparam>
-<Data eventName="answerToReset" nbOfParams="5" />
-</extraparam>
-</COMPONENT>
 
-<COMPONENT type="1010" id="1288" >
-<cdparam x="144" y="237" />
-<sizeparam width="44" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<hidden value="false" />
-<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
-<infoparam name="wait event" value="pTS() " />
-<TGConnectingPoint num="0" id="1286" />
-<TGConnectingPoint num="1" id="1287" />
-<extraparam>
-<Data eventName="pTS" nbOfParams="5" />
-</extraparam>
-</COMPONENT>
+</TMLActivityDiagramPanel>
 
-<COMPONENT type="1008" id="1291" >
-<cdparam x="124" y="308" />
-<sizeparam width="85" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<TMLActivityDiagramPanel name="Application" minX="10" maxX="1400" minY="10" maxY="900" >
+<COMPONENT type="1026" id="1435" >
+<cdparam x="504" y="341" />
+<sizeparam width="10" height="30" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
-<infoparam name="send event" value="pTSConfirm()" />
-<TGConnectingPoint num="0" id="1289" />
-<TGConnectingPoint num="1" id="1290" />
-<extraparam>
-<Data eventName="pTSConfirm" nbOfParams="5" />
-</extraparam>
+<infoparam name="delay" value="null" />
+<TGConnectingPoint num="0" id="1433" />
+<TGConnectingPoint num="1" id="1434" />
 </COMPONENT>
-
-<COMPONENT type="301" id="1308" >
-<cdparam x="376" y="98" />
-<sizeparam width="233" height="39" minWidth="50" minHeight="20" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<SUBCOMPONENT type="-1" id="1432" >
+<father id="1435" num="0" />
+<cdparam x="519" y="361" />
+<sizeparam width="38" height="15" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
-<infoparam name="UML Note" value="The first two layers of the OSI model 
-are used to communicate between 
-the smart card and the terminal
-" />
-<TGConnectingPoint num="0" id="1292" />
-<TGConnectingPoint num="1" id="1293" />
-<TGConnectingPoint num="2" id="1294" />
-<TGConnectingPoint num="3" id="1295" />
-<TGConnectingPoint num="4" id="1296" />
-<TGConnectingPoint num="5" id="1297" />
-<TGConnectingPoint num="6" id="1298" />
-<TGConnectingPoint num="7" id="1299" />
-<TGConnectingPoint num="8" id="1300" />
-<TGConnectingPoint num="9" id="1301" />
-<TGConnectingPoint num="10" id="1302" />
-<TGConnectingPoint num="11" id="1303" />
-<TGConnectingPoint num="12" id="1304" />
-<TGConnectingPoint num="13" id="1305" />
-<TGConnectingPoint num="14" id="1306" />
-<TGConnectingPoint num="15" id="1307" />
+<cdrectangleparam minX="-75" maxX="30" minY="10" maxY="30" />
+<infoparam name="value of the delay" value="10 ms" />
 <extraparam>
-<Line value="The first two layers of the OSI model " />
-<Line value="are used to communicate between " />
-<Line value="the smart card and the terminal" />
+<TimeDelay minDelay="10" maxDelay="nope" hasMaxDelay="false" unit="ms" />
 </extraparam>
-</COMPONENT>
+</SUBCOMPONENT>
 
-<COMPONENT type="1007" id="1311" >
-<cdparam x="254" y="97" />
-<sizeparam width="89" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<COMPONENT type="1010" id="1438" >
+<cdparam x="479" y="129" />
+<sizeparam width="66" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
-<infoparam name="send request" value="start_TCP_IP()" />
-<TGConnectingPoint num="0" id="1309" />
-<TGConnectingPoint num="1" id="1310" />
+<infoparam name="wait event" value="opened() " />
+<TGConnectingPoint num="0" id="1436" />
+<TGConnectingPoint num="1" id="1437" />
 <extraparam>
-<Data requestName="start_TCP_IP" nbOfParams="5" />
+<Data eventName="opened" nbOfParams="5" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1007" id="1314" >
-<cdparam x="241" y="148" />
-<sizeparam width="114" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<COMPONENT type="1008" id="1441" >
+<cdparam x="449" y="192" />
+<sizeparam width="125" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
-<infoparam name="send request" value="start_Application()" />
-<TGConnectingPoint num="0" id="1312" />
-<TGConnectingPoint num="1" id="1313" />
-<breakpoint />
+<infoparam name="send event" value="connectionOpened()" />
+<TGConnectingPoint num="0" id="1439" />
+<TGConnectingPoint num="1" id="1440" />
 <extraparam>
-<Data requestName="start_Application" nbOfParams="5" />
+<Data eventName="connectionOpened" nbOfParams="5" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1001" id="1316" >
-<cdparam x="515" y="487" />
-<sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<COMPONENT type="1012" id="1449" >
+<cdparam x="495" y="411" />
+<sizeparam width="30" height="30" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
-<infoparam name="stop state" value="null" />
-<TGConnectingPoint num="0" id="1315" />
+<infoparam name="choice" value="null" />
+<TGConnectingPoint num="0" id="1445" />
+<TGConnectingPoint num="1" id="1446" />
+<TGConnectingPoint num="2" id="1447" />
+<TGConnectingPoint num="3" id="1448" />
 </COMPONENT>
-
-<COMPONENT type="1008" id="1319" >
-<cdparam x="309" y="409" />
-<sizeparam width="106" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<SUBCOMPONENT type="-1" id="1442" >
+<father id="1449" num="0" />
+<cdparam x="470" y="421" />
+<sizeparam width="12" height="15" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
-<infoparam name="send event" value="data_Ready_SC()" />
-<TGConnectingPoint num="0" id="1317" />
-<TGConnectingPoint num="1" id="1318" />
-<extraparam>
-<Data eventName="data_Ready_SC" nbOfParams="5" />
-</extraparam>
-</COMPONENT>
-
-<COMPONENT type="1001" id="1321" >
-<cdparam x="352" y="485" />
-<sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdrectangleparam minX="-75" maxX="-20" minY="10" maxY="35" />
+<infoparam name="guard 1" value="[ ]" />
+</SUBCOMPONENT>
+<SUBCOMPONENT type="-1" id="1443" >
+<father id="1449" num="1" />
+<cdparam x="530" y="421" />
+<sizeparam width="12" height="15" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
-<infoparam name="stop state" value="null" />
-<TGConnectingPoint num="0" id="1320" />
-</COMPONENT>
-
-<COMPONENT type="1009" id="1324" >
-<cdparam x="321" y="367" />
-<sizeparam width="83" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdrectangleparam minX="35" maxX="55" minY="10" maxY="35" />
+<infoparam name="guard 2" value="[ ]" />
+</SUBCOMPONENT>
+<SUBCOMPONENT type="-1" id="1444" >
+<father id="1449" num="2" />
+<cdparam x="515" y="456" />
+<sizeparam width="12" height="15" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
-<infoparam name="read channel" value="fromTtoP(1) " />
-<TGConnectingPoint num="0" id="1322" />
-<TGConnectingPoint num="1" id="1323" />
-<extraparam>
-<Data channelName="fromTtoP" nbOfSamples="1" secPattern="" isAttacker="No" />
-</extraparam>
-</COMPONENT>
+<cdrectangleparam minX="20" maxX="40" minY="45" maxY="70" />
+<infoparam name="guard 3" value="[ ]" />
+</SUBCOMPONENT>
 
-<COMPONENT type="1010" id="1327" >
-<cdparam x="337" y="323" />
-<sizeparam width="50" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<COMPONENT type="1000" id="1451" >
+<cdparam x="498" y="33" />
+<sizeparam width="15" height="15" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
-<infoparam name="wait event" value="send() " />
-<TGConnectingPoint num="0" id="1325" />
-<TGConnectingPoint num="1" id="1326" />
-<extraparam>
-<Data eventName="send" nbOfParams="5" />
-</extraparam>
+<infoparam name="start state" value="null" />
+<TGConnectingPoint num="0" id="1450" />
 </COMPONENT>
 
-<COMPONENT type="1006" id="1330" >
-<cdparam x="319" y="451" />
-<sizeparam width="87" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<COMPONENT type="1008" id="1454" >
+<cdparam x="482" y="71" />
+<sizeparam width="47" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
-<infoparam name="write channel" value="fromSCtoD(1)" />
-<TGConnectingPoint num="0" id="1328" />
-<TGConnectingPoint num="1" id="1329" />
+<infoparam name="send event" value="open()" />
+<TGConnectingPoint num="0" id="1452" />
+<TGConnectingPoint num="1" id="1453" />
 <extraparam>
-<Data channelName="fromSCtoD" nbOfSamples="1" secPattern="" isAttacker="No" />
+<Data eventName="open" nbOfParams="5" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1008" id="1333" >
-<cdparam x="496" y="409" />
-<sizeparam width="59" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<COMPONENT type="1006" id="1457" >
+<cdparam x="469" y="250" />
+<sizeparam width="80" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
-<infoparam name="send event" value="receive()" />
-<TGConnectingPoint num="0" id="1331" />
-<TGConnectingPoint num="1" id="1332" />
+<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
+<infoparam name="write channel" value="fromAtoT(1)" />
+<TGConnectingPoint num="0" id="1455" />
+<TGConnectingPoint num="1" id="1456" />
 <extraparam>
-<Data eventName="receive" nbOfParams="5" />
+<Data channelName="fromAtoT" nbOfSamples="1" secPattern="" isAttacker="No" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1009" id="1336" >
-<cdparam x="480" y="370" />
-<sizeparam width="91" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<COMPONENT type="1008" id="1460" >
+<cdparam x="471" y="296" />
+<sizeparam width="75" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
-<infoparam name="read channel" value="fromDtoSC(1) " />
-<TGConnectingPoint num="0" id="1334" />
-<TGConnectingPoint num="1" id="1335" />
+<infoparam name="send event" value="send_TCP()" />
+<TGConnectingPoint num="0" id="1458" />
+<TGConnectingPoint num="1" id="1459" />
+<accessibility />
 <extraparam>
-<Data channelName="fromDtoSC" nbOfSamples="1" secPattern="" isAttacker="No" />
+<Data eventName="send_TCP" nbOfParams="5" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1006" id="1339" >
-<cdparam x="486" y="446" />
-<sizeparam width="79" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<COMPONENT type="1001" id="1462" >
+<cdparam x="577" y="545" />
+<sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
-<infoparam name="write channel" value="fromPtoT(1)" />
-<TGConnectingPoint num="0" id="1337" />
-<TGConnectingPoint num="1" id="1338" />
-<extraparam>
-<Data channelName="fromPtoT" nbOfSamples="1" secPattern="" isAttacker="No" />
-</extraparam>
+<infoparam name="stop state" value="null" />
+<TGConnectingPoint num="0" id="1461" />
 </COMPONENT>
 
-<COMPONENT type="1010" id="1342" >
-<cdparam x="470" y="327" />
-<sizeparam width="110" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<COMPONENT type="1008" id="1465" >
+<cdparam x="563" y="486" />
+<sizeparam width="49" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
-<infoparam name="wait event" value="data_Ready(t, b) " />
-<TGConnectingPoint num="0" id="1340" />
-<TGConnectingPoint num="1" id="1341" />
-<breakpoint />
+<infoparam name="send event" value="abort()" />
+<TGConnectingPoint num="0" id="1463" />
+<TGConnectingPoint num="1" id="1464" />
 <extraparam>
-<Data eventName="data_Ready" nbOfParams="5" />
-<Param index="0" value="t" />
-<Param index="1" value="b" />
+<Data eventName="abort" nbOfParams="5" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1014" id="1346" >
-<cdparam x="236" y="261" />
-<sizeparam width="125" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<COMPONENT type="1008" id="1468" >
+<cdparam x="410" y="494" />
+<sizeparam width="47" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
-<infoparam name="for loop" value="for(j=0;x==0;j = j)" />
-<TGConnectingPoint num="0" id="1343" />
-<TGConnectingPoint num="1" id="1344" />
-<TGConnectingPoint num="2" id="1345" />
+<infoparam name="send event" value="close()" />
+<TGConnectingPoint num="0" id="1466" />
+<TGConnectingPoint num="1" id="1467" />
 <extraparam>
-<Data init="j=0" condition="x==0" increment="j = j" />
+<Data eventName="close" nbOfParams="5" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1001" id="1348" >
-<cdparam x="275" y="309" />
+<COMPONENT type="1001" id="1470" >
+<cdparam x="423" y="543" />
 <sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
 <infoparam name="stop state" value="null" />
-<TGConnectingPoint num="0" id="1347" />
+<TGConnectingPoint num="0" id="1469" />
 </COMPONENT>
 
-<COMPONENT type="1018" id="1359" >
-<cdparam x="424" y="285" />
-<sizeparam width="30" height="30" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<hidden value="false" />
-<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
-<infoparam name="select" value="null" />
-<TGConnectingPoint num="0" id="1349" />
-<TGConnectingPoint num="1" id="1350" />
-<TGConnectingPoint num="2" id="1351" />
-<TGConnectingPoint num="3" id="1352" />
-<TGConnectingPoint num="4" id="1353" />
-<TGConnectingPoint num="5" id="1354" />
-<TGConnectingPoint num="6" id="1355" />
-<TGConnectingPoint num="7" id="1356" />
-<TGConnectingPoint num="8" id="1357" />
-<TGConnectingPoint num="9" id="1358" />
-</COMPONENT>
-
-<CONNECTOR type="115" id="1364" >
-<cdparam x="111" y="331" />
-<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<infoparam name="connector from send event to send request" value="null" />
-<P1  x="166" y="333" id="1290" />
-<P2  x="298" y="92" id="1309" />
-<Point x="166" y="353" />
-<Point x="225" y="353" />
-<Point x="225" y="72" />
-<Point x="278" y="72" />
-<AutomaticDrawing  data="true" />
-</CONNECTOR><SUBCOMPONENT type="-1" id="1360" >
-<father id="1364" num="0" />
-<cdparam x="166" y="353" />
-<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<hidden value="false" />
-<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="1400" />
-<infoparam name="point " value="null" />
-</SUBCOMPONENT>
-<SUBCOMPONENT type="-1" id="1361" >
-<father id="1364" num="1" />
-<cdparam x="225" y="353" />
-<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<hidden value="false" />
-<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="1400" />
-<infoparam name="point " value="null" />
-</SUBCOMPONENT>
-<SUBCOMPONENT type="-1" id="1362" >
-<father id="1364" num="2" />
-<cdparam x="225" y="72" />
-<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<hidden value="false" />
-<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="1400" />
-<infoparam name="point " value="null" />
-</SUBCOMPONENT>
-<SUBCOMPONENT type="-1" id="1363" >
-<father id="1364" num="3" />
-<cdparam x="278" y="72" />
+<CONNECTOR type="115" id="1471" >
+<cdparam x="515" y="376" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<hidden value="false" />
-<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="1400" />
-<infoparam name="point " value="null" />
-</SUBCOMPONENT>
-
-<CONNECTOR type="115" id="1365" >
-<cdparam x="166" y="64" />
-<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<infoparam name="connector from start state to wait event" value="null" />
-<P1  x="166" y="86" id="1278" />
-<P2  x="166" y="124" id="1280" />
-<AutomaticDrawing  data="true" />
-</CONNECTOR>
-<CONNECTOR type="115" id="1366" >
-<cdparam x="166" y="154" />
-<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<infoparam name="connector from wait event to send event" value="null" />
-<P1  x="166" y="154" id="1281" />
-<P2  x="166" y="177" id="1283" />
-<AutomaticDrawing  data="true" />
-</CONNECTOR>
-<CONNECTOR type="115" id="1367" >
-<cdparam x="312" y="133" />
-<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<infoparam name="connector from send request to send request" value="null" />
-<P1  x="298" y="122" id="1310" />
-<P2  x="298" y="143" id="1312" />
-<AutomaticDrawing  data="true" />
-</CONNECTOR>
-<CONNECTOR type="115" id="1368" >
-<cdparam x="355" y="359" />
-<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<infoparam name="connector from wait event to read channel" value="null" />
-<P1  x="362" y="348" id="1326" />
-<P2  x="362" y="362" id="1322" />
-<AutomaticDrawing  data="true" />
-</CONNECTOR>
-<CONNECTOR type="115" id="1369" >
-<cdparam x="355" y="424" />
-<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<infoparam name="connector from read channel to send event" value="null" />
-<P1  x="362" y="392" id="1323" />
-<P2  x="362" y="404" id="1317" />
+<infoparam name="connector" value="null" />
+<P1  x="509" y="376" id="1434" />
+<P2  x="510" y="401" id="1445" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1370" >
-<cdparam x="355" y="476" />
-<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<infoparam name="connector from send event to write channel" value="null" />
-<P1  x="362" y="434" id="1318" />
-<P2  x="362" y="446" id="1328" />
+<CONNECTOR type="115" id="1472" >
+<cdparam x="512" y="154" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="null" />
+<P1  x="512" y="154" id="1437" />
+<P2  x="511" y="187" id="1439" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1371" >
-<cdparam x="355" y="532" />
-<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<infoparam name="connector from write channel to stop state" value="null" />
-<P1  x="362" y="476" id="1329" />
-<P2  x="362" y="480" id="1320" />
+<CONNECTOR type="115" id="1473" >
+<cdparam x="594" y="221" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="null" />
+<P1  x="511" y="217" id="1440" />
+<P2  x="509" y="245" id="1455" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1372" >
-<cdparam x="541" y="417" />
+<CONNECTOR type="115" id="1474" >
+<cdparam x="506" y="36" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<infoparam name="connector from read channel to send event" value="null" />
-<P1  x="525" y="395" id="1335" />
-<P2  x="525" y="404" id="1331" />
+<infoparam name="connector from start state to send event" value="null" />
+<P1  x="505" y="53" id="1450" />
+<P2  x="505" y="66" id="1452" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1373" >
-<cdparam x="540" y="461" />
+<CONNECTOR type="115" id="1475" >
+<cdparam x="508" y="154" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from send event to write channel" value="null" />
-<P1  x="525" y="434" id="1332" />
-<P2  x="525" y="441" id="1337" />
-<AutomaticDrawing  data="true" />
-</CONNECTOR>
-<CONNECTOR type="115" id="1374" >
-<cdparam x="543" y="364" />
-<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<infoparam name="connector from wait event to read channel" value="null" />
-<P1  x="525" y="352" id="1341" />
-<P2  x="525" y="365" id="1334" />
-<AutomaticDrawing  data="true" />
-</CONNECTOR>
-<CONNECTOR type="115" id="1375" >
-<cdparam x="540" y="523" />
-<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<infoparam name="connector from write channel to stop state" value="null" />
-<P1  x="525" y="471" id="1338" />
-<P2  x="525" y="482" id="1315" />
-<AutomaticDrawing  data="true" />
-</CONNECTOR>
-<CONNECTOR type="115" id="1376" >
-<cdparam x="298" y="173" />
-<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<infoparam name="connector from send request to for loop" value="null" />
-<P1  x="298" y="173" id="1313" />
-<P2  x="302" y="196" id="1755" />
+<P1  x="505" y="96" id="1453" />
+<P2  x="512" y="124" id="1436" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1377" >
-<cdparam x="328" y="291" />
+<CONNECTOR type="115" id="1476" >
+<cdparam x="509" y="294" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<infoparam name="connector from for loop to stop state" value="null" />
-<P1  x="298" y="286" id="1345" />
-<P2  x="285" y="304" id="1347" />
+<infoparam name="connector from write channel to send event" value="null" />
+<P1  x="509" y="275" id="1456" />
+<P2  x="508" y="291" id="1458" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1378" >
-<cdparam x="395" y="342" />
+<CONNECTOR type="115" id="1477" >
+<cdparam x="587" y="511" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<infoparam name="connector from select to wait event" value="null" />
-<P1  x="399" y="300" id="1350" />
-<P2  x="362" y="318" id="1325" />
+<infoparam name="connector from send event to stop state" value="null" />
+<P1  x="587" y="511" id="1464" />
+<P2  x="587" y="540" id="1461" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1379" >
-<cdparam x="543" y="400" />
+<CONNECTOR type="115" id="1478" >
+<cdparam x="509" y="370" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<infoparam name="connector from select to wait event" value="null" />
-<P1  x="479" y="300" id="1351" />
-<P2  x="525" y="322" id="1340" />
+<infoparam name="connector from send event to choice" value="null" />
+<P1  x="508" y="321" id="1459" />
+<P2  x="509" y="336" id="1433" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1380" >
-<cdparam x="391" y="341" />
+<CONNECTOR type="115" id="1479" >
+<cdparam x="471" y="505" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<infoparam name="connector from for loop to select" value="null" />
-<P1  x="361" y="275" id="1344" />
-<P2  x="439" y="275" id="1349" />
+<infoparam name="connector from choice to send event" value="null" />
+<P1  x="470" y="426" id="1446" />
+<P2  x="433" y="489" id="1466" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1381" >
-<cdparam x="164" y="262" />
+<CONNECTOR type="115" id="1480" >
+<cdparam x="433" y="519" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<infoparam name="connector from wait event to send event" value="null" />
-<P1  x="166" y="262" id="1287" />
-<P2  x="166" y="303" id="1289" />
+<infoparam name="connector from send event to stop state" value="null" />
+<P1  x="433" y="519" id="1467" />
+<P2  x="433" y="538" id="1469" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1382" >
-<cdparam x="166" y="207" />
+<CONNECTOR type="115" id="1481" >
+<cdparam x="551" y="505" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<infoparam name="connector from send event to wait event" value="null" />
-<P1  x="166" y="207" id="1284" />
-<P2  x="166" y="232" id="1286" />
+<infoparam name="connector from choice to send event" value="null" />
+<P1  x="550" y="426" id="1447" />
+<P2  x="587" y="481" id="1463" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 
@@ -6391,227 +6498,227 @@ the smart card and the terminal
 
 <Modeling type="TML Architecture" nameTab="Mapping1" >
 <TMLArchiDiagramPanel name="DIPLODOCUS architecture and mapping Diagram" minX="10" maxX="1400" minY="10" maxY="900" attributes="0" masterClockFrequency="200" >
-<COMPONENT type="1102" id="1407" >
-<cdparam x="612" y="448" />
+<COMPONENT type="1102" id="1506" >
+<cdparam x="612" y="450" />
 <sizeparam width="250" height="50" minWidth="100" minHeight="50" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
 <infoparam name="Bus0" value="name" />
-<TGConnectingPoint num="0" id="1383" />
-<TGConnectingPoint num="1" id="1384" />
-<TGConnectingPoint num="2" id="1385" />
-<TGConnectingPoint num="3" id="1386" />
-<TGConnectingPoint num="4" id="1387" />
-<TGConnectingPoint num="5" id="1388" />
-<TGConnectingPoint num="6" id="1389" />
-<TGConnectingPoint num="7" id="1390" />
-<TGConnectingPoint num="8" id="1391" />
-<TGConnectingPoint num="9" id="1392" />
-<TGConnectingPoint num="10" id="1393" />
-<TGConnectingPoint num="11" id="1394" />
-<TGConnectingPoint num="12" id="1395" />
-<TGConnectingPoint num="13" id="1396" />
-<TGConnectingPoint num="14" id="1397" />
-<TGConnectingPoint num="15" id="1398" />
-<TGConnectingPoint num="16" id="1399" />
-<TGConnectingPoint num="17" id="1400" />
-<TGConnectingPoint num="18" id="1401" />
-<TGConnectingPoint num="19" id="1402" />
-<TGConnectingPoint num="20" id="1403" />
-<TGConnectingPoint num="21" id="1404" />
-<TGConnectingPoint num="22" id="1405" />
-<TGConnectingPoint num="23" id="1406" />
+<TGConnectingPoint num="0" id="1482" />
+<TGConnectingPoint num="1" id="1483" />
+<TGConnectingPoint num="2" id="1484" />
+<TGConnectingPoint num="3" id="1485" />
+<TGConnectingPoint num="4" id="1486" />
+<TGConnectingPoint num="5" id="1487" />
+<TGConnectingPoint num="6" id="1488" />
+<TGConnectingPoint num="7" id="1489" />
+<TGConnectingPoint num="8" id="1490" />
+<TGConnectingPoint num="9" id="1491" />
+<TGConnectingPoint num="10" id="1492" />
+<TGConnectingPoint num="11" id="1493" />
+<TGConnectingPoint num="12" id="1494" />
+<TGConnectingPoint num="13" id="1495" />
+<TGConnectingPoint num="14" id="1496" />
+<TGConnectingPoint num="15" id="1497" />
+<TGConnectingPoint num="16" id="1498" />
+<TGConnectingPoint num="17" id="1499" />
+<TGConnectingPoint num="18" id="1500" />
+<TGConnectingPoint num="19" id="1501" />
+<TGConnectingPoint num="20" id="1502" />
+<TGConnectingPoint num="21" id="1503" />
+<TGConnectingPoint num="22" id="1504" />
+<TGConnectingPoint num="23" id="1505" />
 <extraparam>
 <info stereotype="BUS-RR" nodeName="Bus0" />
 <attributes byteDataSize="4"  arbitrationPolicy="0"  sliceTime="10000"  pipelineSize="1"  clockRatio="1"  privacy="0"  referenceAttack="null" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1105" id="1432" >
-<cdparam x="796" y="121" />
+<COMPONENT type="1105" id="1531" >
+<cdparam x="797" y="120" />
 <sizeparam width="200" height="200" minWidth="100" minHeight="35" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
 <infoparam name="Memory0" value="name" />
-<TGConnectingPoint num="0" id="1408" />
-<TGConnectingPoint num="1" id="1409" />
-<TGConnectingPoint num="2" id="1410" />
-<TGConnectingPoint num="3" id="1411" />
-<TGConnectingPoint num="4" id="1412" />
-<TGConnectingPoint num="5" id="1413" />
-<TGConnectingPoint num="6" id="1414" />
-<TGConnectingPoint num="7" id="1415" />
-<TGConnectingPoint num="8" id="1416" />
-<TGConnectingPoint num="9" id="1417" />
-<TGConnectingPoint num="10" id="1418" />
-<TGConnectingPoint num="11" id="1419" />
-<TGConnectingPoint num="12" id="1420" />
-<TGConnectingPoint num="13" id="1421" />
-<TGConnectingPoint num="14" id="1422" />
-<TGConnectingPoint num="15" id="1423" />
-<TGConnectingPoint num="16" id="1424" />
-<TGConnectingPoint num="17" id="1425" />
-<TGConnectingPoint num="18" id="1426" />
-<TGConnectingPoint num="19" id="1427" />
-<TGConnectingPoint num="20" id="1428" />
-<TGConnectingPoint num="21" id="1429" />
-<TGConnectingPoint num="22" id="1430" />
-<TGConnectingPoint num="23" id="1431" />
+<TGConnectingPoint num="0" id="1507" />
+<TGConnectingPoint num="1" id="1508" />
+<TGConnectingPoint num="2" id="1509" />
+<TGConnectingPoint num="3" id="1510" />
+<TGConnectingPoint num="4" id="1511" />
+<TGConnectingPoint num="5" id="1512" />
+<TGConnectingPoint num="6" id="1513" />
+<TGConnectingPoint num="7" id="1514" />
+<TGConnectingPoint num="8" id="1515" />
+<TGConnectingPoint num="9" id="1516" />
+<TGConnectingPoint num="10" id="1517" />
+<TGConnectingPoint num="11" id="1518" />
+<TGConnectingPoint num="12" id="1519" />
+<TGConnectingPoint num="13" id="1520" />
+<TGConnectingPoint num="14" id="1521" />
+<TGConnectingPoint num="15" id="1522" />
+<TGConnectingPoint num="16" id="1523" />
+<TGConnectingPoint num="17" id="1524" />
+<TGConnectingPoint num="18" id="1525" />
+<TGConnectingPoint num="19" id="1526" />
+<TGConnectingPoint num="20" id="1527" />
+<TGConnectingPoint num="21" id="1528" />
+<TGConnectingPoint num="22" id="1529" />
+<TGConnectingPoint num="23" id="1530" />
 <extraparam>
 <info stereotype="MEMORY" nodeName="Memory0" />
 <attributes byteDataSize="4"  memorySize="1024"  clockRatio="1"  bufferType="0" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1100" id="1502" >
+<COMPONENT type="1100" id="1601" >
 <cdparam x="51" y="90" />
 <sizeparam width="459" height="321" minWidth="150" minHeight="150" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
 <infoparam name="cpu0" value="name" />
-<TGConnectingPoint num="0" id="1478" />
-<TGConnectingPoint num="1" id="1479" />
-<TGConnectingPoint num="2" id="1480" />
-<TGConnectingPoint num="3" id="1481" />
-<TGConnectingPoint num="4" id="1482" />
-<TGConnectingPoint num="5" id="1483" />
-<TGConnectingPoint num="6" id="1484" />
-<TGConnectingPoint num="7" id="1485" />
-<TGConnectingPoint num="8" id="1486" />
-<TGConnectingPoint num="9" id="1487" />
-<TGConnectingPoint num="10" id="1488" />
-<TGConnectingPoint num="11" id="1489" />
-<TGConnectingPoint num="12" id="1490" />
-<TGConnectingPoint num="13" id="1491" />
-<TGConnectingPoint num="14" id="1492" />
-<TGConnectingPoint num="15" id="1493" />
-<TGConnectingPoint num="16" id="1494" />
-<TGConnectingPoint num="17" id="1495" />
-<TGConnectingPoint num="18" id="1496" />
-<TGConnectingPoint num="19" id="1497" />
-<TGConnectingPoint num="20" id="1498" />
-<TGConnectingPoint num="21" id="1499" />
-<TGConnectingPoint num="22" id="1500" />
-<TGConnectingPoint num="23" id="1501" />
+<TGConnectingPoint num="0" id="1577" />
+<TGConnectingPoint num="1" id="1578" />
+<TGConnectingPoint num="2" id="1579" />
+<TGConnectingPoint num="3" id="1580" />
+<TGConnectingPoint num="4" id="1581" />
+<TGConnectingPoint num="5" id="1582" />
+<TGConnectingPoint num="6" id="1583" />
+<TGConnectingPoint num="7" id="1584" />
+<TGConnectingPoint num="8" id="1585" />
+<TGConnectingPoint num="9" id="1586" />
+<TGConnectingPoint num="10" id="1587" />
+<TGConnectingPoint num="11" id="1588" />
+<TGConnectingPoint num="12" id="1589" />
+<TGConnectingPoint num="13" id="1590" />
+<TGConnectingPoint num="14" id="1591" />
+<TGConnectingPoint num="15" id="1592" />
+<TGConnectingPoint num="16" id="1593" />
+<TGConnectingPoint num="17" id="1594" />
+<TGConnectingPoint num="18" id="1595" />
+<TGConnectingPoint num="19" id="1596" />
+<TGConnectingPoint num="20" id="1597" />
+<TGConnectingPoint num="21" id="1598" />
+<TGConnectingPoint num="22" id="1599" />
+<TGConnectingPoint num="23" id="1600" />
 <extraparam>
 <info stereotype="CPURRPB" nodeName="cpu0" />
 <attributes nbOfCores="1" byteDataSize="4"  schedulingPolicy="1"  sliceTime="10000"  goIdleTime="10"  maxConsecutiveIdleCycles="10"  pipelineSize="5"  taskSwitchingTime="20"  branchingPredictionPenalty="99"  cacheMiss="5" execiTime="1" execcTime="1" clockRatio="1" MECType="0" encryption="0"/>
 </extraparam>
 </COMPONENT>
-<SUBCOMPONENT type="1101" id="1441" >
-<father id="1502" num="0" />
-<cdparam x="92" y="154" />
-<sizeparam width="163" height="50" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<SUBCOMPONENT type="1101" id="1540" >
+<father id="1601" num="0" />
+<cdparam x="226" y="304" />
+<sizeparam width="109" height="50" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="296" minY="0" maxY="271" />
-<infoparam name="TGComponent" value="AppC::InterfaceDevice" />
-<TGConnectingPoint num="0" id="1433" />
-<TGConnectingPoint num="1" id="1434" />
-<TGConnectingPoint num="2" id="1435" />
-<TGConnectingPoint num="3" id="1436" />
-<TGConnectingPoint num="4" id="1437" />
-<TGConnectingPoint num="5" id="1438" />
-<TGConnectingPoint num="6" id="1439" />
-<TGConnectingPoint num="7" id="1440" />
+<cdrectangleparam minX="0" maxX="350" minY="0" maxY="271" />
+<infoparam name="TGComponent" value="AppC::Timer" />
+<TGConnectingPoint num="0" id="1532" />
+<TGConnectingPoint num="1" id="1533" />
+<TGConnectingPoint num="2" id="1534" />
+<TGConnectingPoint num="3" id="1535" />
+<TGConnectingPoint num="4" id="1536" />
+<TGConnectingPoint num="5" id="1537" />
+<TGConnectingPoint num="6" id="1538" />
+<TGConnectingPoint num="7" id="1539" />
 <extraparam>
-<info value="AppC::InterfaceDevice" taskName="InterfaceDevice" referenceTaskName="AppC" priority="0" operation="" fatherComponentMECType="0" />
+<info value="AppC::Timer" taskName="Timer" referenceTaskName="AppC" priority="0" operation="" fatherComponentMECType="0" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1101" id="1450" >
-<father id="1502" num="1" />
-<cdparam x="291" y="153" />
-<sizeparam width="136" height="50" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<SUBCOMPONENT type="1101" id="1549" >
+<father id="1601" num="1" />
+<cdparam x="290" y="234" />
+<sizeparam width="139" height="50" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="323" minY="0" maxY="271" />
-<infoparam name="TGComponent" value="AppC::SmartCard" />
-<TGConnectingPoint num="0" id="1442" />
-<TGConnectingPoint num="1" id="1443" />
-<TGConnectingPoint num="2" id="1444" />
-<TGConnectingPoint num="3" id="1445" />
-<TGConnectingPoint num="4" id="1446" />
-<TGConnectingPoint num="5" id="1447" />
-<TGConnectingPoint num="6" id="1448" />
-<TGConnectingPoint num="7" id="1449" />
+<cdrectangleparam minX="0" maxX="320" minY="0" maxY="271" />
+<infoparam name="TGComponent" value="AppC::Application" />
+<TGConnectingPoint num="0" id="1541" />
+<TGConnectingPoint num="1" id="1542" />
+<TGConnectingPoint num="2" id="1543" />
+<TGConnectingPoint num="3" id="1544" />
+<TGConnectingPoint num="4" id="1545" />
+<TGConnectingPoint num="5" id="1546" />
+<TGConnectingPoint num="6" id="1547" />
+<TGConnectingPoint num="7" id="1548" />
 <extraparam>
-<info value="AppC::SmartCard" taskName="SmartCard" referenceTaskName="AppC" priority="0" operation="" fatherComponentMECType="0" />
+<info value="AppC::Application" taskName="Application" referenceTaskName="AppC" priority="0" operation="" fatherComponentMECType="0" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1101" id="1459" >
-<father id="1502" num="2" />
+<SUBCOMPONENT type="1101" id="1558" >
+<father id="1601" num="2" />
 <cdparam x="96" y="246" />
 <sizeparam width="108" height="50" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="0" maxX="351" minY="0" maxY="271" />
 <infoparam name="TGComponent" value="AppC::TCPIP" />
-<TGConnectingPoint num="0" id="1451" />
-<TGConnectingPoint num="1" id="1452" />
-<TGConnectingPoint num="2" id="1453" />
-<TGConnectingPoint num="3" id="1454" />
-<TGConnectingPoint num="4" id="1455" />
-<TGConnectingPoint num="5" id="1456" />
-<TGConnectingPoint num="6" id="1457" />
-<TGConnectingPoint num="7" id="1458" />
+<TGConnectingPoint num="0" id="1550" />
+<TGConnectingPoint num="1" id="1551" />
+<TGConnectingPoint num="2" id="1552" />
+<TGConnectingPoint num="3" id="1553" />
+<TGConnectingPoint num="4" id="1554" />
+<TGConnectingPoint num="5" id="1555" />
+<TGConnectingPoint num="6" id="1556" />
+<TGConnectingPoint num="7" id="1557" />
 <extraparam>
 <info value="AppC::TCPIP" taskName="TCPIP" referenceTaskName="AppC" priority="0" operation="" fatherComponentMECType="0" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1101" id="1468" >
-<father id="1502" num="3" />
-<cdparam x="290" y="234" />
-<sizeparam width="139" height="50" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<SUBCOMPONENT type="1101" id="1567" >
+<father id="1601" num="3" />
+<cdparam x="291" y="153" />
+<sizeparam width="136" height="50" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="320" minY="0" maxY="271" />
-<infoparam name="TGComponent" value="AppC::Application" />
-<TGConnectingPoint num="0" id="1460" />
-<TGConnectingPoint num="1" id="1461" />
-<TGConnectingPoint num="2" id="1462" />
-<TGConnectingPoint num="3" id="1463" />
-<TGConnectingPoint num="4" id="1464" />
-<TGConnectingPoint num="5" id="1465" />
-<TGConnectingPoint num="6" id="1466" />
-<TGConnectingPoint num="7" id="1467" />
+<cdrectangleparam minX="0" maxX="323" minY="0" maxY="271" />
+<infoparam name="TGComponent" value="AppC::SmartCard" />
+<TGConnectingPoint num="0" id="1559" />
+<TGConnectingPoint num="1" id="1560" />
+<TGConnectingPoint num="2" id="1561" />
+<TGConnectingPoint num="3" id="1562" />
+<TGConnectingPoint num="4" id="1563" />
+<TGConnectingPoint num="5" id="1564" />
+<TGConnectingPoint num="6" id="1565" />
+<TGConnectingPoint num="7" id="1566" />
 <extraparam>
-<info value="AppC::Application" taskName="Application" referenceTaskName="AppC" priority="0" operation="" fatherComponentMECType="0" />
+<info value="AppC::SmartCard" taskName="SmartCard" referenceTaskName="AppC" priority="0" operation="" fatherComponentMECType="0" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1101" id="1477" >
-<father id="1502" num="4" />
-<cdparam x="226" y="304" />
-<sizeparam width="109" height="50" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<SUBCOMPONENT type="1101" id="1576" >
+<father id="1601" num="4" />
+<cdparam x="92" y="154" />
+<sizeparam width="163" height="50" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="350" minY="0" maxY="271" />
-<infoparam name="TGComponent" value="AppC::Timer" />
-<TGConnectingPoint num="0" id="1469" />
-<TGConnectingPoint num="1" id="1470" />
-<TGConnectingPoint num="2" id="1471" />
-<TGConnectingPoint num="3" id="1472" />
-<TGConnectingPoint num="4" id="1473" />
-<TGConnectingPoint num="5" id="1474" />
-<TGConnectingPoint num="6" id="1475" />
-<TGConnectingPoint num="7" id="1476" />
+<cdrectangleparam minX="0" maxX="296" minY="0" maxY="271" />
+<infoparam name="TGComponent" value="AppC::InterfaceDevice" />
+<TGConnectingPoint num="0" id="1568" />
+<TGConnectingPoint num="1" id="1569" />
+<TGConnectingPoint num="2" id="1570" />
+<TGConnectingPoint num="3" id="1571" />
+<TGConnectingPoint num="4" id="1572" />
+<TGConnectingPoint num="5" id="1573" />
+<TGConnectingPoint num="6" id="1574" />
+<TGConnectingPoint num="7" id="1575" />
 <extraparam>
-<info value="AppC::Timer" taskName="Timer" referenceTaskName="AppC" priority="0" operation="" fatherComponentMECType="0" />
+<info value="AppC::InterfaceDevice" taskName="InterfaceDevice" referenceTaskName="AppC" priority="0" operation="" fatherComponentMECType="0" />
 </extraparam>
 </SUBCOMPONENT>
 
-<CONNECTOR type="125" id="1503" >
+<CONNECTOR type="125" id="1602" >
 <cdparam x="800" y="322" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="{info}" />
-<P1  x="846" y="321" id="1422" />
-<P2  x="799" y="448" id="1392" />
+<P1  x="847" y="320" id="1521" />
+<P2  x="799" y="450" id="1491" />
 <AutomaticDrawing  data="true" />
 <extraparam>
 <info priority="0" />
 <spy value="false" />
 </extraparam>
 </CONNECTOR>
-<CONNECTOR type="125" id="1504" >
+<CONNECTOR type="125" id="1603" >
 <cdparam x="510" y="411" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="{info}" />
-<P1  x="510" y="411" id="1485" />
-<P2  x="612" y="460" id="1393" />
+<P1  x="510" y="411" id="1584" />
+<P2  x="612" y="462" id="1492" />
 <AutomaticDrawing  data="true" />
 <extraparam>
 <info priority="0" />
@@ -6628,323 +6735,323 @@ the smart card and the terminal
 
 <Modeling type="TML Architecture" nameTab="Mapping2" >
 <TMLArchiDiagramPanel name="DIPLODOCUS architecture and mapping Diagram" minX="10" maxX="1400" minY="10" maxY="900" attributes="0" masterClockFrequency="200" >
-<COMPONENT type="1105" id="1529" >
+<COMPONENT type="1105" id="1628" >
 <cdparam x="309" y="358" />
 <sizeparam width="189" height="131" minWidth="100" minHeight="50" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
 <infoparam name="Memory0" value="name" />
-<TGConnectingPoint num="0" id="1505" />
-<TGConnectingPoint num="1" id="1506" />
-<TGConnectingPoint num="2" id="1507" />
-<TGConnectingPoint num="3" id="1508" />
-<TGConnectingPoint num="4" id="1509" />
-<TGConnectingPoint num="5" id="1510" />
-<TGConnectingPoint num="6" id="1511" />
-<TGConnectingPoint num="7" id="1512" />
-<TGConnectingPoint num="8" id="1513" />
-<TGConnectingPoint num="9" id="1514" />
-<TGConnectingPoint num="10" id="1515" />
-<TGConnectingPoint num="11" id="1516" />
-<TGConnectingPoint num="12" id="1517" />
-<TGConnectingPoint num="13" id="1518" />
-<TGConnectingPoint num="14" id="1519" />
-<TGConnectingPoint num="15" id="1520" />
-<TGConnectingPoint num="16" id="1521" />
-<TGConnectingPoint num="17" id="1522" />
-<TGConnectingPoint num="18" id="1523" />
-<TGConnectingPoint num="19" id="1524" />
-<TGConnectingPoint num="20" id="1525" />
-<TGConnectingPoint num="21" id="1526" />
-<TGConnectingPoint num="22" id="1527" />
-<TGConnectingPoint num="23" id="1528" />
+<TGConnectingPoint num="0" id="1604" />
+<TGConnectingPoint num="1" id="1605" />
+<TGConnectingPoint num="2" id="1606" />
+<TGConnectingPoint num="3" id="1607" />
+<TGConnectingPoint num="4" id="1608" />
+<TGConnectingPoint num="5" id="1609" />
+<TGConnectingPoint num="6" id="1610" />
+<TGConnectingPoint num="7" id="1611" />
+<TGConnectingPoint num="8" id="1612" />
+<TGConnectingPoint num="9" id="1613" />
+<TGConnectingPoint num="10" id="1614" />
+<TGConnectingPoint num="11" id="1615" />
+<TGConnectingPoint num="12" id="1616" />
+<TGConnectingPoint num="13" id="1617" />
+<TGConnectingPoint num="14" id="1618" />
+<TGConnectingPoint num="15" id="1619" />
+<TGConnectingPoint num="16" id="1620" />
+<TGConnectingPoint num="17" id="1621" />
+<TGConnectingPoint num="18" id="1622" />
+<TGConnectingPoint num="19" id="1623" />
+<TGConnectingPoint num="20" id="1624" />
+<TGConnectingPoint num="21" id="1625" />
+<TGConnectingPoint num="22" id="1626" />
+<TGConnectingPoint num="23" id="1627" />
 <extraparam>
 <info stereotype="MEMORY" nodeName="Memory0" />
 <attributes byteDataSize="4"  memorySize="1024"  clockRatio="1"  bufferType="0" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1102" id="1554" >
+<COMPONENT type="1102" id="1653" >
 <cdparam x="278" y="269" />
 <sizeparam width="250" height="50" minWidth="100" minHeight="50" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
 <infoparam name="Bus0" value="name" />
-<TGConnectingPoint num="0" id="1530" />
-<TGConnectingPoint num="1" id="1531" />
-<TGConnectingPoint num="2" id="1532" />
-<TGConnectingPoint num="3" id="1533" />
-<TGConnectingPoint num="4" id="1534" />
-<TGConnectingPoint num="5" id="1535" />
-<TGConnectingPoint num="6" id="1536" />
-<TGConnectingPoint num="7" id="1537" />
-<TGConnectingPoint num="8" id="1538" />
-<TGConnectingPoint num="9" id="1539" />
-<TGConnectingPoint num="10" id="1540" />
-<TGConnectingPoint num="11" id="1541" />
-<TGConnectingPoint num="12" id="1542" />
-<TGConnectingPoint num="13" id="1543" />
-<TGConnectingPoint num="14" id="1544" />
-<TGConnectingPoint num="15" id="1545" />
-<TGConnectingPoint num="16" id="1546" />
-<TGConnectingPoint num="17" id="1547" />
-<TGConnectingPoint num="18" id="1548" />
-<TGConnectingPoint num="19" id="1549" />
-<TGConnectingPoint num="20" id="1550" />
-<TGConnectingPoint num="21" id="1551" />
-<TGConnectingPoint num="22" id="1552" />
-<TGConnectingPoint num="23" id="1553" />
+<TGConnectingPoint num="0" id="1629" />
+<TGConnectingPoint num="1" id="1630" />
+<TGConnectingPoint num="2" id="1631" />
+<TGConnectingPoint num="3" id="1632" />
+<TGConnectingPoint num="4" id="1633" />
+<TGConnectingPoint num="5" id="1634" />
+<TGConnectingPoint num="6" id="1635" />
+<TGConnectingPoint num="7" id="1636" />
+<TGConnectingPoint num="8" id="1637" />
+<TGConnectingPoint num="9" id="1638" />
+<TGConnectingPoint num="10" id="1639" />
+<TGConnectingPoint num="11" id="1640" />
+<TGConnectingPoint num="12" id="1641" />
+<TGConnectingPoint num="13" id="1642" />
+<TGConnectingPoint num="14" id="1643" />
+<TGConnectingPoint num="15" id="1644" />
+<TGConnectingPoint num="16" id="1645" />
+<TGConnectingPoint num="17" id="1646" />
+<TGConnectingPoint num="18" id="1647" />
+<TGConnectingPoint num="19" id="1648" />
+<TGConnectingPoint num="20" id="1649" />
+<TGConnectingPoint num="21" id="1650" />
+<TGConnectingPoint num="22" id="1651" />
+<TGConnectingPoint num="23" id="1652" />
 <extraparam>
 <info stereotype="BUS-RR" nodeName="Bus0" />
 <attributes byteDataSize="4"  arbitrationPolicy="0"  sliceTime="10000"  pipelineSize="1"  clockRatio="5"  privacy="0"  referenceAttack="" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1100" id="1588" >
+<COMPONENT type="1100" id="1687" >
 <cdparam x="574" y="227" />
 <sizeparam width="174" height="135" minWidth="150" minHeight="100" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
 <infoparam name="CPU2" value="name" />
-<TGConnectingPoint num="0" id="1564" />
-<TGConnectingPoint num="1" id="1565" />
-<TGConnectingPoint num="2" id="1566" />
-<TGConnectingPoint num="3" id="1567" />
-<TGConnectingPoint num="4" id="1568" />
-<TGConnectingPoint num="5" id="1569" />
-<TGConnectingPoint num="6" id="1570" />
-<TGConnectingPoint num="7" id="1571" />
-<TGConnectingPoint num="8" id="1572" />
-<TGConnectingPoint num="9" id="1573" />
-<TGConnectingPoint num="10" id="1574" />
-<TGConnectingPoint num="11" id="1575" />
-<TGConnectingPoint num="12" id="1576" />
-<TGConnectingPoint num="13" id="1577" />
-<TGConnectingPoint num="14" id="1578" />
-<TGConnectingPoint num="15" id="1579" />
-<TGConnectingPoint num="16" id="1580" />
-<TGConnectingPoint num="17" id="1581" />
-<TGConnectingPoint num="18" id="1582" />
-<TGConnectingPoint num="19" id="1583" />
-<TGConnectingPoint num="20" id="1584" />
-<TGConnectingPoint num="21" id="1585" />
-<TGConnectingPoint num="22" id="1586" />
-<TGConnectingPoint num="23" id="1587" />
+<TGConnectingPoint num="0" id="1663" />
+<TGConnectingPoint num="1" id="1664" />
+<TGConnectingPoint num="2" id="1665" />
+<TGConnectingPoint num="3" id="1666" />
+<TGConnectingPoint num="4" id="1667" />
+<TGConnectingPoint num="5" id="1668" />
+<TGConnectingPoint num="6" id="1669" />
+<TGConnectingPoint num="7" id="1670" />
+<TGConnectingPoint num="8" id="1671" />
+<TGConnectingPoint num="9" id="1672" />
+<TGConnectingPoint num="10" id="1673" />
+<TGConnectingPoint num="11" id="1674" />
+<TGConnectingPoint num="12" id="1675" />
+<TGConnectingPoint num="13" id="1676" />
+<TGConnectingPoint num="14" id="1677" />
+<TGConnectingPoint num="15" id="1678" />
+<TGConnectingPoint num="16" id="1679" />
+<TGConnectingPoint num="17" id="1680" />
+<TGConnectingPoint num="18" id="1681" />
+<TGConnectingPoint num="19" id="1682" />
+<TGConnectingPoint num="20" id="1683" />
+<TGConnectingPoint num="21" id="1684" />
+<TGConnectingPoint num="22" id="1685" />
+<TGConnectingPoint num="23" id="1686" />
 <extraparam>
 <info stereotype="CPURR" nodeName="CPU2" />
 <attributes nbOfCores="1" byteDataSize="4"  schedulingPolicy="0"  sliceTime="10000"  goIdleTime="10"  maxConsecutiveIdleCycles="10"  pipelineSize="5"  taskSwitchingTime="20"  branchingPredictionPenalty="2"  cacheMiss="5" execiTime="1" execcTime="1" clockRatio="4" MECType="0" encryption="0"/>
 </extraparam>
 </COMPONENT>
-<SUBCOMPONENT type="1101" id="1563" >
-<father id="1588" num="0" />
+<SUBCOMPONENT type="1101" id="1662" >
+<father id="1687" num="0" />
 <cdparam x="604" y="279" />
 <sizeparam width="109" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="0" maxX="65" minY="0" maxY="95" />
 <infoparam name="TGComponent" value="AppC::Timer" />
-<TGConnectingPoint num="0" id="1555" />
-<TGConnectingPoint num="1" id="1556" />
-<TGConnectingPoint num="2" id="1557" />
-<TGConnectingPoint num="3" id="1558" />
-<TGConnectingPoint num="4" id="1559" />
-<TGConnectingPoint num="5" id="1560" />
-<TGConnectingPoint num="6" id="1561" />
-<TGConnectingPoint num="7" id="1562" />
+<TGConnectingPoint num="0" id="1654" />
+<TGConnectingPoint num="1" id="1655" />
+<TGConnectingPoint num="2" id="1656" />
+<TGConnectingPoint num="3" id="1657" />
+<TGConnectingPoint num="4" id="1658" />
+<TGConnectingPoint num="5" id="1659" />
+<TGConnectingPoint num="6" id="1660" />
+<TGConnectingPoint num="7" id="1661" />
 <extraparam>
 <info value="AppC::Timer" taskName="Timer" referenceTaskName="AppC" priority="0" operation="" fatherComponentMECType="0" />
 </extraparam>
 </SUBCOMPONENT>
 
-<COMPONENT type="1100" id="1622" >
+<COMPONENT type="1100" id="1721" >
 <cdparam x="56" y="231" />
 <sizeparam width="165" height="126" minWidth="150" minHeight="100" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
 <infoparam name="CPU1" value="name" />
-<TGConnectingPoint num="0" id="1598" />
-<TGConnectingPoint num="1" id="1599" />
-<TGConnectingPoint num="2" id="1600" />
-<TGConnectingPoint num="3" id="1601" />
-<TGConnectingPoint num="4" id="1602" />
-<TGConnectingPoint num="5" id="1603" />
-<TGConnectingPoint num="6" id="1604" />
-<TGConnectingPoint num="7" id="1605" />
-<TGConnectingPoint num="8" id="1606" />
-<TGConnectingPoint num="9" id="1607" />
-<TGConnectingPoint num="10" id="1608" />
-<TGConnectingPoint num="11" id="1609" />
-<TGConnectingPoint num="12" id="1610" />
-<TGConnectingPoint num="13" id="1611" />
-<TGConnectingPoint num="14" id="1612" />
-<TGConnectingPoint num="15" id="1613" />
-<TGConnectingPoint num="16" id="1614" />
-<TGConnectingPoint num="17" id="1615" />
-<TGConnectingPoint num="18" id="1616" />
-<TGConnectingPoint num="19" id="1617" />
-<TGConnectingPoint num="20" id="1618" />
-<TGConnectingPoint num="21" id="1619" />
-<TGConnectingPoint num="22" id="1620" />
-<TGConnectingPoint num="23" id="1621" />
+<TGConnectingPoint num="0" id="1697" />
+<TGConnectingPoint num="1" id="1698" />
+<TGConnectingPoint num="2" id="1699" />
+<TGConnectingPoint num="3" id="1700" />
+<TGConnectingPoint num="4" id="1701" />
+<TGConnectingPoint num="5" id="1702" />
+<TGConnectingPoint num="6" id="1703" />
+<TGConnectingPoint num="7" id="1704" />
+<TGConnectingPoint num="8" id="1705" />
+<TGConnectingPoint num="9" id="1706" />
+<TGConnectingPoint num="10" id="1707" />
+<TGConnectingPoint num="11" id="1708" />
+<TGConnectingPoint num="12" id="1709" />
+<TGConnectingPoint num="13" id="1710" />
+<TGConnectingPoint num="14" id="1711" />
+<TGConnectingPoint num="15" id="1712" />
+<TGConnectingPoint num="16" id="1713" />
+<TGConnectingPoint num="17" id="1714" />
+<TGConnectingPoint num="18" id="1715" />
+<TGConnectingPoint num="19" id="1716" />
+<TGConnectingPoint num="20" id="1717" />
+<TGConnectingPoint num="21" id="1718" />
+<TGConnectingPoint num="22" id="1719" />
+<TGConnectingPoint num="23" id="1720" />
 <extraparam>
 <info stereotype="CPURR" nodeName="CPU1" />
 <attributes nbOfCores="1" byteDataSize="4"  schedulingPolicy="0"  sliceTime="10000"  goIdleTime="10"  maxConsecutiveIdleCycles="10"  pipelineSize="5"  taskSwitchingTime="20"  branchingPredictionPenalty="2"  cacheMiss="5" execiTime="1" execcTime="1" clockRatio="2" MECType="0" encryption="0"/>
 </extraparam>
 </COMPONENT>
-<SUBCOMPONENT type="1101" id="1597" >
-<father id="1622" num="0" />
+<SUBCOMPONENT type="1101" id="1696" >
+<father id="1721" num="0" />
 <cdparam x="56" y="276" />
 <sizeparam width="163" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="0" maxX="2" minY="0" maxY="86" />
 <infoparam name="TGComponent" value="AppC::InterfaceDevice" />
-<TGConnectingPoint num="0" id="1589" />
-<TGConnectingPoint num="1" id="1590" />
-<TGConnectingPoint num="2" id="1591" />
-<TGConnectingPoint num="3" id="1592" />
-<TGConnectingPoint num="4" id="1593" />
-<TGConnectingPoint num="5" id="1594" />
-<TGConnectingPoint num="6" id="1595" />
-<TGConnectingPoint num="7" id="1596" />
+<TGConnectingPoint num="0" id="1688" />
+<TGConnectingPoint num="1" id="1689" />
+<TGConnectingPoint num="2" id="1690" />
+<TGConnectingPoint num="3" id="1691" />
+<TGConnectingPoint num="4" id="1692" />
+<TGConnectingPoint num="5" id="1693" />
+<TGConnectingPoint num="6" id="1694" />
+<TGConnectingPoint num="7" id="1695" />
 <extraparam>
 <info value="AppC::InterfaceDevice" taskName="InterfaceDevice" referenceTaskName="AppC" priority="0" operation="" fatherComponentMECType="0" />
 </extraparam>
 </SUBCOMPONENT>
 
-<COMPONENT type="1100" id="1674" >
+<COMPONENT type="1100" id="1773" >
 <cdparam x="278" y="74" />
 <sizeparam width="272" height="167" minWidth="150" minHeight="100" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
 <infoparam name="CPU0" value="name" />
-<TGConnectingPoint num="0" id="1650" />
-<TGConnectingPoint num="1" id="1651" />
-<TGConnectingPoint num="2" id="1652" />
-<TGConnectingPoint num="3" id="1653" />
-<TGConnectingPoint num="4" id="1654" />
-<TGConnectingPoint num="5" id="1655" />
-<TGConnectingPoint num="6" id="1656" />
-<TGConnectingPoint num="7" id="1657" />
-<TGConnectingPoint num="8" id="1658" />
-<TGConnectingPoint num="9" id="1659" />
-<TGConnectingPoint num="10" id="1660" />
-<TGConnectingPoint num="11" id="1661" />
-<TGConnectingPoint num="12" id="1662" />
-<TGConnectingPoint num="13" id="1663" />
-<TGConnectingPoint num="14" id="1664" />
-<TGConnectingPoint num="15" id="1665" />
-<TGConnectingPoint num="16" id="1666" />
-<TGConnectingPoint num="17" id="1667" />
-<TGConnectingPoint num="18" id="1668" />
-<TGConnectingPoint num="19" id="1669" />
-<TGConnectingPoint num="20" id="1670" />
-<TGConnectingPoint num="21" id="1671" />
-<TGConnectingPoint num="22" id="1672" />
-<TGConnectingPoint num="23" id="1673" />
+<TGConnectingPoint num="0" id="1749" />
+<TGConnectingPoint num="1" id="1750" />
+<TGConnectingPoint num="2" id="1751" />
+<TGConnectingPoint num="3" id="1752" />
+<TGConnectingPoint num="4" id="1753" />
+<TGConnectingPoint num="5" id="1754" />
+<TGConnectingPoint num="6" id="1755" />
+<TGConnectingPoint num="7" id="1756" />
+<TGConnectingPoint num="8" id="1757" />
+<TGConnectingPoint num="9" id="1758" />
+<TGConnectingPoint num="10" id="1759" />
+<TGConnectingPoint num="11" id="1760" />
+<TGConnectingPoint num="12" id="1761" />
+<TGConnectingPoint num="13" id="1762" />
+<TGConnectingPoint num="14" id="1763" />
+<TGConnectingPoint num="15" id="1764" />
+<TGConnectingPoint num="16" id="1765" />
+<TGConnectingPoint num="17" id="1766" />
+<TGConnectingPoint num="18" id="1767" />
+<TGConnectingPoint num="19" id="1768" />
+<TGConnectingPoint num="20" id="1769" />
+<TGConnectingPoint num="21" id="1770" />
+<TGConnectingPoint num="22" id="1771" />
+<TGConnectingPoint num="23" id="1772" />
 <extraparam>
 <info stereotype="CPURR" nodeName="CPU0" />
 <attributes nbOfCores="1" byteDataSize="4"  schedulingPolicy="0"  sliceTime="10000"  goIdleTime="10"  maxConsecutiveIdleCycles="10"  pipelineSize="5"  taskSwitchingTime="20"  branchingPredictionPenalty="2"  cacheMiss="18" execiTime="1" execcTime="1" clockRatio="3" MECType="0" encryption="0"/>
 </extraparam>
 </COMPONENT>
-<SUBCOMPONENT type="1101" id="1631" >
-<father id="1674" num="0" />
-<cdparam x="288" y="105" />
-<sizeparam width="108" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<SUBCOMPONENT type="1101" id="1730" >
+<father id="1773" num="0" />
+<cdparam x="386" y="136" />
+<sizeparam width="136" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="164" minY="0" maxY="127" />
-<infoparam name="TGComponent" value="AppC::TCPIP" />
-<TGConnectingPoint num="0" id="1623" />
-<TGConnectingPoint num="1" id="1624" />
-<TGConnectingPoint num="2" id="1625" />
-<TGConnectingPoint num="3" id="1626" />
-<TGConnectingPoint num="4" id="1627" />
-<TGConnectingPoint num="5" id="1628" />
-<TGConnectingPoint num="6" id="1629" />
-<TGConnectingPoint num="7" id="1630" />
+<cdrectangleparam minX="0" maxX="136" minY="0" maxY="127" />
+<infoparam name="TGComponent" value="AppC::SmartCard" />
+<TGConnectingPoint num="0" id="1722" />
+<TGConnectingPoint num="1" id="1723" />
+<TGConnectingPoint num="2" id="1724" />
+<TGConnectingPoint num="3" id="1725" />
+<TGConnectingPoint num="4" id="1726" />
+<TGConnectingPoint num="5" id="1727" />
+<TGConnectingPoint num="6" id="1728" />
+<TGConnectingPoint num="7" id="1729" />
 <extraparam>
-<info value="AppC::TCPIP" taskName="TCPIP" referenceTaskName="AppC" priority="0" operation="" fatherComponentMECType="0" />
+<info value="AppC::SmartCard" taskName="SmartCard" referenceTaskName="AppC" priority="0" operation="" fatherComponentMECType="0" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1101" id="1640" >
-<father id="1674" num="1" />
+<SUBCOMPONENT type="1101" id="1739" >
+<father id="1773" num="1" />
 <cdparam x="304" y="180" />
 <sizeparam width="139" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="0" maxX="133" minY="0" maxY="127" />
 <infoparam name="TGComponent" value="AppC::Application" />
-<TGConnectingPoint num="0" id="1632" />
-<TGConnectingPoint num="1" id="1633" />
-<TGConnectingPoint num="2" id="1634" />
-<TGConnectingPoint num="3" id="1635" />
-<TGConnectingPoint num="4" id="1636" />
-<TGConnectingPoint num="5" id="1637" />
-<TGConnectingPoint num="6" id="1638" />
-<TGConnectingPoint num="7" id="1639" />
+<TGConnectingPoint num="0" id="1731" />
+<TGConnectingPoint num="1" id="1732" />
+<TGConnectingPoint num="2" id="1733" />
+<TGConnectingPoint num="3" id="1734" />
+<TGConnectingPoint num="4" id="1735" />
+<TGConnectingPoint num="5" id="1736" />
+<TGConnectingPoint num="6" id="1737" />
+<TGConnectingPoint num="7" id="1738" />
 <extraparam>
 <info value="AppC::Application" taskName="Application" referenceTaskName="AppC" priority="0" operation="" fatherComponentMECType="0" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1101" id="1649" >
-<father id="1674" num="2" />
-<cdparam x="386" y="136" />
-<sizeparam width="136" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<SUBCOMPONENT type="1101" id="1748" >
+<father id="1773" num="2" />
+<cdparam x="288" y="105" />
+<sizeparam width="108" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="136" minY="0" maxY="127" />
-<infoparam name="TGComponent" value="AppC::SmartCard" />
-<TGConnectingPoint num="0" id="1641" />
-<TGConnectingPoint num="1" id="1642" />
-<TGConnectingPoint num="2" id="1643" />
-<TGConnectingPoint num="3" id="1644" />
-<TGConnectingPoint num="4" id="1645" />
-<TGConnectingPoint num="5" id="1646" />
-<TGConnectingPoint num="6" id="1647" />
-<TGConnectingPoint num="7" id="1648" />
+<cdrectangleparam minX="0" maxX="164" minY="0" maxY="127" />
+<infoparam name="TGComponent" value="AppC::TCPIP" />
+<TGConnectingPoint num="0" id="1740" />
+<TGConnectingPoint num="1" id="1741" />
+<TGConnectingPoint num="2" id="1742" />
+<TGConnectingPoint num="3" id="1743" />
+<TGConnectingPoint num="4" id="1744" />
+<TGConnectingPoint num="5" id="1745" />
+<TGConnectingPoint num="6" id="1746" />
+<TGConnectingPoint num="7" id="1747" />
 <extraparam>
-<info value="AppC::SmartCard" taskName="SmartCard" referenceTaskName="AppC" priority="0" operation="" fatherComponentMECType="0" />
+<info value="AppC::TCPIP" taskName="TCPIP" referenceTaskName="AppC" priority="0" operation="" fatherComponentMECType="0" />
 </extraparam>
 </SUBCOMPONENT>
 
-<CONNECTOR type="125" id="1675" >
+<CONNECTOR type="125" id="1774" >
 <cdparam x="402" y="367" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from Memory0 to Bus0" value="{info}" />
-<P1  x="403" y="358" id="1506" />
-<P2  x="403" y="319" id="1536" />
+<P1  x="403" y="358" id="1605" />
+<P2  x="403" y="319" id="1635" />
 <AutomaticDrawing  data="true" />
 <extraparam>
 <info priority="0" />
 <spy value="false" />
 </extraparam>
 </CONNECTOR>
-<CONNECTOR type="125" id="1676" >
+<CONNECTOR type="125" id="1775" >
 <cdparam x="190" y="300" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from CPU1 to Bus0" value="{info}" />
-<P1  x="221" y="294" id="1602" />
-<P2  x="278" y="294" id="1533" />
+<P1  x="221" y="294" id="1701" />
+<P2  x="278" y="294" id="1632" />
 <AutomaticDrawing  data="true" />
 <extraparam>
 <info priority="0" />
 <spy value="false" />
 </extraparam>
 </CONNECTOR>
-<CONNECTOR type="125" id="1677" >
+<CONNECTOR type="125" id="1776" >
 <cdparam x="662" y="310" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from CPU2 to Bus0" value="{info}" />
-<P1  x="574" y="294" id="1567" />
-<P2  x="528" y="294" id="1534" />
+<P1  x="574" y="294" id="1666" />
+<P2  x="528" y="294" id="1633" />
 <AutomaticDrawing  data="true" />
 <extraparam>
 <info priority="0" />
 <spy value="false" />
 </extraparam>
 </CONNECTOR>
-<CONNECTOR type="125" id="1678" >
+<CONNECTOR type="125" id="1777" >
 <cdparam x="388" y="162" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from CPU0 to Bus0" value="{info}" />
-<P1  x="414" y="241" id="1656" />
-<P2  x="403" y="269" id="1531" />
+<P1  x="414" y="241" id="1755" />
+<P2  x="403" y="269" id="1630" />
 <AutomaticDrawing  data="true" />
 <extraparam>
 <info priority="0" />
@@ -6961,101 +7068,101 @@ the smart card and the terminal
 
 <Modeling type="Diplodocus Methodology" nameTab="DIPLODOCUS_Methodology" >
 <DiplodocusMethodologyDiagramPanel name="DIPLODOCUS_Methodology" minX="10" maxX="2500" minY="10" maxY="1500" zoom="1.0" >
-<COMPONENT type="6003" id="1683" >
+<COMPONENT type="6003" id="1782" >
 <cdparam x="60" y="417" />
 <sizeparam width="200" height="120" minWidth="10" minHeight="30" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
 <infoparam name="TGComponent" value="Requirements" />
-<TGConnectingPoint num="0" id="1679" />
-<TGConnectingPoint num="1" id="1680" />
-<TGConnectingPoint num="2" id="1681" />
-<TGConnectingPoint num="3" id="1682" />
+<TGConnectingPoint num="0" id="1778" />
+<TGConnectingPoint num="1" id="1779" />
+<TGConnectingPoint num="2" id="1780" />
+<TGConnectingPoint num="3" id="1781" />
 </COMPONENT>
 
-<COMPONENT type="6006" id="1688" >
+<COMPONENT type="6006" id="1787" >
 <cdparam x="600" y="100" />
 <sizeparam width="200" height="120" minWidth="10" minHeight="30" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
 <infoparam name="TGComponent" value="Com. Patterns" />
-<TGConnectingPoint num="0" id="1684" />
-<TGConnectingPoint num="1" id="1685" />
-<TGConnectingPoint num="2" id="1686" />
-<TGConnectingPoint num="3" id="1687" />
+<TGConnectingPoint num="0" id="1783" />
+<TGConnectingPoint num="1" id="1784" />
+<TGConnectingPoint num="2" id="1785" />
+<TGConnectingPoint num="3" id="1786" />
 </COMPONENT>
 
-<COMPONENT type="6002" id="1697" >
+<COMPONENT type="6002" id="1796" >
 <cdparam x="518" y="309" />
 <sizeparam width="328" height="133" minWidth="10" minHeight="30" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
 <infoparam name="TGComponent" value="Mapping" />
-<TGConnectingPoint num="0" id="1691" />
-<TGConnectingPoint num="1" id="1692" />
-<TGConnectingPoint num="2" id="1693" />
-<TGConnectingPoint num="3" id="1694" />
-<TGConnectingPoint num="4" id="1695" />
-<TGConnectingPoint num="5" id="1696" />
-</COMPONENT>
-<SUBCOMPONENT type="6005" id="1689" >
-<father id="1697" num="0" />
-<cdparam x="523" y="349" />
-<sizeparam width="10" height="10" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<hidden value="false" />
-<cdrectangleparam minX="605" maxX="605" minY="340" maxY="340" />
-<infoparam name="value " value="Mapping1" />
-</SUBCOMPONENT>
-<SUBCOMPONENT type="6005" id="1690" >
-<father id="1697" num="1" />
+<TGConnectingPoint num="0" id="1790" />
+<TGConnectingPoint num="1" id="1791" />
+<TGConnectingPoint num="2" id="1792" />
+<TGConnectingPoint num="3" id="1793" />
+<TGConnectingPoint num="4" id="1794" />
+<TGConnectingPoint num="5" id="1795" />
+</COMPONENT>
+<SUBCOMPONENT type="6005" id="1788" >
+<father id="1796" num="0" />
 <cdparam x="523" y="364" />
 <sizeparam width="10" height="10" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="605" maxX="605" minY="355" maxY="355" />
 <infoparam name="value " value="Mapping2" />
 </SUBCOMPONENT>
+<SUBCOMPONENT type="6005" id="1789" >
+<father id="1796" num="1" />
+<cdparam x="523" y="349" />
+<sizeparam width="10" height="10" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="605" maxX="605" minY="340" maxY="340" />
+<infoparam name="value " value="Mapping1" />
+</SUBCOMPONENT>
 
-<COMPONENT type="6001" id="1704" >
+<COMPONENT type="6001" id="1803" >
 <cdparam x="850" y="100" />
 <sizeparam width="200" height="120" minWidth="10" minHeight="30" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
 <infoparam name="TGComponent" value="Architecture" />
-<TGConnectingPoint num="0" id="1700" />
-<TGConnectingPoint num="1" id="1701" />
-<TGConnectingPoint num="2" id="1702" />
-<TGConnectingPoint num="3" id="1703" />
+<TGConnectingPoint num="0" id="1799" />
+<TGConnectingPoint num="1" id="1800" />
+<TGConnectingPoint num="2" id="1801" />
+<TGConnectingPoint num="3" id="1802" />
 </COMPONENT>
-<SUBCOMPONENT type="6005" id="1698" >
-<father id="1704" num="0" />
-<cdparam x="855" y="140" />
-<sizeparam width="10" height="10" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<hidden value="false" />
-<cdrectangleparam minX="855" maxX="855" minY="140" maxY="140" />
-<infoparam name="value " value="Mapping1" />
-</SUBCOMPONENT>
-<SUBCOMPONENT type="6005" id="1699" >
-<father id="1704" num="1" />
+<SUBCOMPONENT type="6005" id="1797" >
+<father id="1803" num="0" />
 <cdparam x="855" y="155" />
 <sizeparam width="10" height="10" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="855" maxX="855" minY="155" maxY="155" />
 <infoparam name="value " value="Mapping2" />
 </SUBCOMPONENT>
+<SUBCOMPONENT type="6005" id="1798" >
+<father id="1803" num="1" />
+<cdparam x="855" y="140" />
+<sizeparam width="10" height="10" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="855" maxX="855" minY="140" maxY="140" />
+<infoparam name="value " value="Mapping1" />
+</SUBCOMPONENT>
 
-<COMPONENT type="6000" id="1710" >
+<COMPONENT type="6000" id="1809" >
 <cdparam x="233" y="101" />
 <sizeparam width="334" height="161" minWidth="10" minHeight="30" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
 <infoparam name="TGComponent" value="Application" />
-<TGConnectingPoint num="0" id="1706" />
-<TGConnectingPoint num="1" id="1707" />
-<TGConnectingPoint num="2" id="1708" />
-<TGConnectingPoint num="3" id="1709" />
+<TGConnectingPoint num="0" id="1805" />
+<TGConnectingPoint num="1" id="1806" />
+<TGConnectingPoint num="2" id="1807" />
+<TGConnectingPoint num="3" id="1808" />
 </COMPONENT>
-<SUBCOMPONENT type="6005" id="1705" >
-<father id="1710" num="0" />
+<SUBCOMPONENT type="6005" id="1804" >
+<father id="1809" num="0" />
 <cdparam x="238" y="141" />
 <sizeparam width="10" height="10" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
@@ -7063,31 +7170,31 @@ the smart card and the terminal
 <infoparam name="value " value="AppC" />
 </SUBCOMPONENT>
 
-<CONNECTOR type="6004" id="1712" >
+<CONNECTOR type="6004" id="1811" >
 <cdparam x="950" y="220" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="&lt;&lt;deriveReqt&gt;&gt;" />
-<TGConnectingPoint num="0" id="1711" />
-<P1  x="950" y="220" id="1700" />
-<P2  x="747" y="309" id="1692" />
+<TGConnectingPoint num="0" id="1810" />
+<P1  x="950" y="220" id="1799" />
+<P2  x="747" y="309" id="1791" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="6004" id="1714" >
+<CONNECTOR type="6004" id="1813" >
 <cdparam x="700" y="220" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="&lt;&lt;deriveReqt&gt;&gt;" />
-<TGConnectingPoint num="0" id="1713" />
-<P1  x="700" y="220" id="1684" />
-<P2  x="682" y="309" id="1693" />
+<TGConnectingPoint num="0" id="1812" />
+<P1  x="700" y="220" id="1783" />
+<P2  x="682" y="309" id="1792" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="6004" id="1716" >
+<CONNECTOR type="6004" id="1815" >
 <cdparam x="450" y="220" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="&lt;&lt;deriveReqt&gt;&gt;" />
-<TGConnectingPoint num="0" id="1715" />
-<P1  x="400" y="262" id="1706" />
-<P2  x="616" y="309" id="1691" />
+<TGConnectingPoint num="0" id="1814" />
+<P1  x="400" y="262" id="1805" />
+<P2  x="616" y="309" id="1790" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 
diff --git a/src/main/java/ui/window/JDialogBUSNode.java b/src/main/java/ui/window/JDialogBUSNode.java
index 1cf0a993bbf2961b277f0a25111b7e78e29ff36d..5e6193ab705455fcd0c1abd5e59859b8f0386846 100755
--- a/src/main/java/ui/window/JDialogBUSNode.java
+++ b/src/main/java/ui/window/JDialogBUSNode.java
@@ -94,6 +94,10 @@ public class JDialogBUSNode extends JDialogBase implements ActionListener  {
         GridBagConstraints c1 = new GridBagConstraints();
         GridBagConstraints c2 = new GridBagConstraints();
 
+        final int defaultMargin = 3;
+        final Insets lblInsets = new Insets(defaultMargin, defaultMargin, 0, defaultMargin);
+        final Insets tfdInsets = new Insets(0, defaultMargin, defaultMargin, defaultMargin);
+
         setFont(new Font("Helvetica", Font.PLAIN, 14));
         //c.setLayout(gridbag0);
         c.setLayout(new BorderLayout());
@@ -106,24 +110,27 @@ public class JDialogBUSNode extends JDialogBase implements ActionListener  {
         panel2.setBorder(new javax.swing.border.TitledBorder("Bus attributes"));
         panel2.setPreferredSize(new Dimension(400, 200));
 
-        c1.gridwidth = 1;
-        c1.gridheight = 1;
-        c1.weighty = 1.0;
-        c1.weightx = 1.0;
-        c1.fill = GridBagConstraints.HORIZONTAL;
-        panel2.add(new JLabel("Bus name:"), c2);
-        c1.gridwidth = GridBagConstraints.REMAINDER; //end row
+
+        c2.gridwidth = 1;
+        c2.gridheight = 1;
+        c2.weighty = 1.0;
+        c2.weightx = 1.0;
+        c2.fill = GridBagConstraints.HORIZONTAL;
+        c2.insets = lblInsets;
+        //c1.anchor = GridBagConstraints.EAST;
+        panel2.add(new JLabel("Bus name:", SwingConstants.RIGHT), c2);
+        c2.gridwidth = GridBagConstraints.REMAINDER; //end row
         nodeName = new JTextField(node.getNodeName(), 30);
         nodeName.setEditable(true);
         nodeName.setFont(new Font("times", Font.PLAIN, 12));
-        panel2.add(nodeName, c1);
+        panel2.add(nodeName, c2);
 
         c2.gridwidth = 1;
         c2.gridheight = 1;
         c2.weighty = 1.0;
         c2.weightx = 1.0;
         c2.fill = GridBagConstraints.HORIZONTAL;
-        panel2.add(new JLabel("Arbitration policy:"), c2);
+        panel2.add(new JLabel("Arbitration policy:", SwingConstants.RIGHT), c2);
 
         c2.gridwidth = GridBagConstraints.REMAINDER; //end row
         arbitrationPolicy = new JComboBox<>();
@@ -135,31 +142,31 @@ public class JDialogBUSNode extends JDialogBase implements ActionListener  {
         panel2.add(arbitrationPolicy, c2);
 
         c2.gridwidth = 1;
-        panel2.add(new JLabel("Data size (in byte):"), c2);
+        panel2.add(new JLabel("Data size (in byte):", SwingConstants.RIGHT), c2);
         c2.gridwidth = GridBagConstraints.REMAINDER; //end row
         byteDataSize = new JTextField(""+node.getByteDataSize(), 15);
         panel2.add(byteDataSize, c2);
 
         c2.gridwidth = 1;
-        panel2.add(new JLabel("Pipeline size (num. stages):"), c2);
+        panel2.add(new JLabel("Pipeline size (num. stages):", SwingConstants.RIGHT), c2);
         c2.gridwidth = GridBagConstraints.REMAINDER; //end row
         pipelineSize = new JTextField(""+node.getPipelineSize(), 15);
         panel2.add(pipelineSize, c2);
 
         c2.gridwidth = 1;
-        panel2.add(new JLabel("Slice time (in microseconds):"), c2);
+        panel2.add(new JLabel("Slice time (in microseconds):", SwingConstants.RIGHT), c2);
         c2.gridwidth = GridBagConstraints.REMAINDER; //end row
         sliceTime = new JTextField(""+node.getSliceTime(), 15);
         panel2.add(sliceTime, c2);
 
         c2.gridwidth = 1;
-        panel2.add(new JLabel("Clock divider:"), c2);
+        panel2.add(new JLabel("Clock divider:", SwingConstants.RIGHT), c2);
         c2.gridwidth = GridBagConstraints.REMAINDER; //end row
         clockRatio = new JTextField(""+node.getClockRatio(), 15);
         panel2.add(clockRatio, c2);
 
         c2.gridwidth = 1;
-        panel2.add(new JLabel("Bus Privacy:"), c2);
+        panel2.add(new JLabel("Bus Privacy:", SwingConstants.RIGHT), c2);
         c2.gridwidth = GridBagConstraints.REMAINDER; //end row
         privacy = new JComboBox<>();
         privacy.addItem("Public");
@@ -168,7 +175,7 @@ public class JDialogBUSNode extends JDialogBase implements ActionListener  {
         panel2.add(privacy, c2);
 
         c2.gridwidth = 1;
-        panel2.add(new JLabel("Reference Attack:"), c2);
+        panel2.add(new JLabel("Reference Attack:", SwingConstants.RIGHT), c2);
         c2.gridwidth = GridBagConstraints.REMAINDER; //end row
         refAttacks = new JComboBox<>(refs);
         refAttacks.setSelectedItem(node.getRefAttack());
diff --git a/src/main/java/ui/window/JDialogCommPatternMapping.java b/src/main/java/ui/window/JDialogCommPatternMapping.java
index f853d3acc1ae8a38ae8ee02922aff5d4fb7eaecf..75e012091936624e9014f6827f6339cb51a8403d 100644
--- a/src/main/java/ui/window/JDialogCommPatternMapping.java
+++ b/src/main/java/ui/window/JDialogCommPatternMapping.java
@@ -1,27 +1,27 @@
 /* Copyright or (C) or Copr. GET / ENST, Telecom-Paris, Ludovic Apvrille, Andrea ENRICI
- * 
+ *
  * ludovic.apvrille AT telecom-paristech.fr
  * andrea.enrici AT telecom-paristech.fr
- * 
+ *
  * This software is a computer program whose purpose is to allow the
  * edition of TURTLE analysis, design and deployment diagrams, to
  * allow the generation of RT-LOTOS or Java code from this diagram,
  * and at last to allow the analysis of formal validation traces
  * obtained from external tools, e.g. RTL from LAAS-CNRS and CADP
  * from INRIA Rhone-Alpes.
- * 
+ *
  * This software is governed by the CeCILL  license under French law and
  * abiding by the rules of distribution of free software.  You can  use,
  * modify and/ or redistribute the software under the terms of the CeCILL
  * license as circulated by CEA, CNRS and INRIA at the following URL
  * "http://www.cecill.info".
- * 
+ *
  * As a counterpart to the access to the source code and  rights to copy,
  * modify and redistribute granted by the license, users are provided only
  * with a limited warranty  and the software's author,  the holder of the
  * economic rights,  and the successive licensors  have only  limited
  * liability.
- * 
+ *
  * In this respect, the user's attention is drawn to the risks associated
  * with loading,  using,  modifying and/or developing or reproducing the
  * software by the user in light of its specific status of free software,
@@ -32,14 +32,12 @@
  * requirements in conditions enabling the security of their systems and/or
  * data to be ensured and,  more generally, to use and operate it in the
  * same conditions as regards security.
- * 
+ *
  * The fact that you are presently reading this means that you have had
  * knowledge of the CeCILL license and that you accept its terms.
  */
 
 
-
-
 package ui.window;
 
 import myutil.GraphicLib;
@@ -49,7 +47,10 @@ import tmltranslator.TMLCP;
 import tmltranslator.TMLType;
 import tmltranslator.modelcompiler.CPMEC;
 import tmltranslator.tmlcp.TMLCPSequenceDiagram;
-import ui.*;
+import ui.GTMLModeling;
+import ui.TDiagramPanel;
+import ui.TGComponent;
+import ui.TMLCommunicationPatternPanel;
 import ui.tmldd.TMLArchiCPNode;
 import ui.tmldd.TMLArchiNode;
 import ui.tmlsd.TMLSDControllerInstance;
@@ -68,140 +69,143 @@ import java.awt.event.ActionListener;
 import java.util.*;
 
 /**
-* Class JDialogReferenceCP
-* Dialog for mapping CPs onto the architecture
-* Creation: 22/08/2014
-* @version 1.0 22/08/2014
-* @author Ludovic APVRILLE, Andrea ENRICI
+ * Class JDialogReferenceCP
+ * Dialog for mapping CPs onto the architecture
+ * Creation: 22/08/2014
+ *
+ * @author Ludovic APVRILLE, Andrea ENRICI
+ * @version 1.0 22/08/2014
  */
-public class JDialogCommPatternMapping extends JDialog /* implements ActionListener, ListSelectionListener*/  {
-	
-	private final static int STORAGE = 0;
-	private final static int TRANSFER = 1;
-	private final static int CONTROLLER = 2;
-	private final static String EMPTY_MAPPABLE_ARCH_UNITS_LIST = "No units to map";
-	private final static String EMPTY_CPS_LIST = "No CPs to reference";
-	private final static String EMPTY_INSTANCES_LIST = "No instances to map";
-	
+public class JDialogCommPatternMapping extends JDialog /* implements ActionListener, ListSelectionListener*/ {
+
+    private final static int STORAGE = 0;
+    private final static int TRANSFER = 1;
+    private final static int CONTROLLER = 2;
+    private final static String EMPTY_MAPPABLE_ARCH_UNITS_LIST = "No units to map";
+    private final static String EMPTY_CPS_LIST = "No CPs to reference";
+    private final static String EMPTY_INSTANCES_LIST = "No instances to map";
+
     // Issue #36 only the cancel boolean is needed
-	//private boolean regularClose;
-	
-	private Frame frame;
-	private TMLArchiCPNode cp;
-	protected JTextField nameOfCP;
-	private String name = "";
-	//private LinkedList<TMLArchiNode> availableUnits;
-	private Vector<String> mappedUnitsSL = new Vector<String>();
-	
-	private java.util.List<TMLCommunicationPatternPanel> listCPs = new ArrayList<TMLCommunicationPatternPanel>();
-	private Vector<String> communicationPatternsSL = new Vector<String>();
-	
-	private java.util.List<Set<String>> listInstancesHash = new ArrayList<Set<String>>();	// the list of AVAILABLE instances
-	// and array list containing the SD instances for each CP. The array list is indexed the same way as listCPs
-	private java.util.List<Set<String>> listOfMappedInstances = new ArrayList<Set<String>>();
-	private java.util.List<Set<String>> sdStorageInstances = new ArrayList<Set<String>>();
-	private java.util.List<Set<String>> sdTransferInstances = new ArrayList<Set<String>>();
-	private java.util.List<Set<String>> sdControllerInstances = new ArrayList<Set<String>>();
-	
-	private Vector<String> mappableArchUnitsSL;
-	private Vector<String> sdInstancesSL;
-	
-	//private int indexListCPsNames = 0;
-	
-	private boolean emptyCPsList = false;
-	private boolean emptyListOfMappedUnits = true;	//true if there is no mapping info
-	
-	private boolean cancelled = true;
-	
-	// Panel1
-	private JPanel pnlComPatternStruct;
-	private JComboBox<String> sdInstancesCB,/* mappableArchUnitsCB,*/ communicationPatternsCB;
-	private ActionListener sdInstancesCBActionListener, communicationPatternsCBActionListener;
-	private JButton mapButton;
-	private JList<String> mappableArchUnitsJL;
-	private JScrollPane mappableArchUnitsSP;
-	
-	//Panel2
-	private JPanel pnmManageStruct;
-	private JList<String> listMappedUnitsJL;
-	private JButton upButton;
-	private JButton downButton;
-	private JButton removeButton;
-	private JScrollPane scrollPane;
-
-	private JPanel pnlRootContainerInstances;
-	private JPanel pnlRootContainerAttributes;
-
-	//Panel3: assign a value to CP attributes
-	private JPanel pnlAttributeValues;
-	private JButton attributeButton, addressButton;
-	private JComboBox<String> attributesList_CB/*, applicationAttributesList_CB*/, addressList_CB;
-	private JTextField attributesValue_TF, addressValue_TF;
-	private Vector<String> attributesVector, applicationAttributesVector, addressVector;
-	
-	//Panel4: assign a value to CP attributes
-	private JPanel pnlManageAttributes;
-	private JScrollPane scrollPaneAttributes;
-	private JList<String> scrollPaneAttributes_JL;
-	private Vector<String> assignedAttributes/*, assignedAddresses*/;
-	private JButton removeAttributeButton;
-
-	private JTabbedPane tabbedPane;
-
-	//Panel5, code generation
-	private JPanel pnlCodeGen;
-	private JComboBox<String> cpMECsCB, transferTypeCB1, transferTypeCB2;
-//	private JList<String> cpMECsList;
-	private String cpMEC;
-	private int transferType1, transferType2;
-	
-	// Main Panel
-	private JButton closeButton;
-	private JButton cancelButton;
-	
-	/** Creates new form  */
-	public JDialogCommPatternMapping(	JFrame _frame, 
-										String _title,
-										TMLArchiCPNode _cp,
-										Vector<String> _mappedUnits,
-										String _name,
-										String _cpMEC,
-										Vector<String> _assignedAttributes,
-										int _transferType1,
-										int _transferType2 ) {
-		super( _frame, _title, true );
-		
-		frame = _frame;
-		cp = _cp;
-		name = _name;
-		cpMEC = _cpMEC;
-		transferType1 = _transferType1;
-		transferType2 = _transferType2;
-
-		mappedUnitsSL = new Vector<String>();	//take into account the elements already mapped
-		
-		if( _mappedUnits.size() > 0 ) {	//the validity of _mappedUnits is checked when initializing components
-			mappedUnitsSL.addAll( _mappedUnits );
-			emptyListOfMappedUnits = false;
-		}
+    //private boolean regularClose;
+
+    private Frame frame;
+    private TMLArchiCPNode cp;
+    protected JTextField nameOfCP;
+    private String name = "";
+    //private LinkedList<TMLArchiNode> availableUnits;
+    private Vector<String> mappedUnitsSL = new Vector<String>();
+
+    private java.util.List<TMLCommunicationPatternPanel> listCPs = new ArrayList<TMLCommunicationPatternPanel>();
+    private Vector<String> communicationPatternsSL = new Vector<String>();
+
+    private java.util.List<Set<String>> listInstancesHash = new ArrayList<Set<String>>();    // the list of AVAILABLE instances
+    // and array list containing the SD instances for each CP. The array list is indexed the same way as listCPs
+    private java.util.List<Set<String>> listOfMappedInstances = new ArrayList<Set<String>>();
+    private java.util.List<Set<String>> sdStorageInstances = new ArrayList<Set<String>>();
+    private java.util.List<Set<String>> sdTransferInstances = new ArrayList<Set<String>>();
+    private java.util.List<Set<String>> sdControllerInstances = new ArrayList<Set<String>>();
+
+    private Vector<String> mappableArchUnitsSL;
+    private Vector<String> sdInstancesSL;
+
+    //private int indexListCPsNames = 0;
+
+    private boolean emptyCPsList = false;
+    private boolean emptyListOfMappedUnits = true;    //true if there is no mapping info
+
+    private boolean cancelled = true;
+
+    // Panel1
+    private JPanel pnlComPatternStruct;
+    private JComboBox<String> sdInstancesCB,/* mappableArchUnitsCB,*/
+            communicationPatternsCB;
+    private ActionListener sdInstancesCBActionListener, communicationPatternsCBActionListener;
+    private JButton mapButton;
+    private JList<String> mappableArchUnitsJL;
+    private JScrollPane mappableArchUnitsSP;
+
+    //Panel2
+    private JPanel pnmManageStruct;
+    private JList<String> listMappedUnitsJL;
+    private JButton upButton;
+    private JButton downButton;
+    private JButton removeButton;
+    private JScrollPane scrollPane;
+
+    private JPanel pnlRootContainerInstances;
+    private JPanel pnlRootContainerAttributes;
+
+    //Panel3: assign a value to CP attributes
+    private JPanel pnlAttributeValues;
+    private JButton attributeButton, addressButton;
+    private JComboBox<String> attributesList_CB/*, applicationAttributesList_CB*/, addressList_CB;
+    private JTextField attributesValue_TF, addressValue_TF;
+    private Vector<String> attributesVector, applicationAttributesVector, addressVector;
+
+    //Panel4: assign a value to CP attributes
+    private JPanel pnlManageAttributes;
+    private JScrollPane scrollPaneAttributes;
+    private JList<String> scrollPaneAttributes_JL;
+    private Vector<String> assignedAttributes/*, assignedAddresses*/;
+    private JButton removeAttributeButton;
+
+    private JTabbedPane tabbedPane;
+
+    //Panel5, code generation
+    private JPanel pnlCodeGen;
+    private JComboBox<String> cpMECsCB, transferTypeCB1, transferTypeCB2;
+    //	private JList<String> cpMECsList;
+    private String cpMEC;
+    private int transferType1, transferType2;
+
+    // Main Panel
+    private JButton closeButton;
+    private JButton cancelButton;
+
+    /**
+     * Creates new form
+     */
+    public JDialogCommPatternMapping(JFrame _frame,
+                                     String _title,
+                                     TMLArchiCPNode _cp,
+                                     Vector<String> _mappedUnits,
+                                     String _name,
+                                     String _cpMEC,
+                                     Vector<String> _assignedAttributes,
+                                     int _transferType1,
+                                     int _transferType2) {
+        super(_frame, _title, true);
+
+        frame = _frame;
+        cp = _cp;
+        name = _name;
+        cpMEC = _cpMEC;
+        transferType1 = _transferType1;
+        transferType2 = _transferType2;
+
+        mappedUnitsSL = new Vector<String>();    //take into account the elements already mapped
+
+        if (_mappedUnits.size() > 0) {    //the validity of _mappedUnits is checked when initializing components
+            mappedUnitsSL.addAll(_mappedUnits);
+            emptyListOfMappedUnits = false;
+        }
 //		else {
 //			mappedUnitsSL = new Vector<String>();
 //		}
-	
-		if( _assignedAttributes.size() > 0 ) {	//the validity of _assignedAttributes is checked when initializing components
-			assignedAttributes = new Vector<String>();
-			assignedAttributes.addAll( 0, _assignedAttributes );
-		}
-		else {
-			assignedAttributes = new Vector<String>();
-			//assignedAddresses = new Vector<String>();
-		}
-		
-		initComponents();
-		//valueChanged( null );
-		pack();
-	}
-		
+
+        if (_assignedAttributes.size() > 0) {    //the validity of _assignedAttributes is checked when initializing components
+            assignedAttributes = new Vector<String>();
+            assignedAttributes.addAll(0, _assignedAttributes);
+        } else {
+            assignedAttributes = new Vector<String>();
+            //assignedAddresses = new Vector<String>();
+        }
+
+        initComponents();
+        //valueChanged( null );
+        pack();
+    }
+
 //		private void myInitComponents() {
 //			removeButton.setEnabled( false );
 //			upButton.setEnabled( false );
@@ -213,775 +217,766 @@ public class JDialogCommPatternMapping extends JDialog /* implements ActionListe
 //				mapButton.setEnabled( false );
 //			}
 //		}
-		
-	private void initComponents() {
-		Container contentPane = getContentPane();
-		//GridBagLayout gridbag0 = new GridBagLayout();
-		//GridBagLayout gridbag1 = new GridBagLayout();
-		//GridBagLayout gridbag2 = new GridBagLayout();
-		//GridBagLayout gridbag3 = new GridBagLayout();
-	//	GridBagLayout gridbag4 = new GridBagLayout();
-	//	GridBagLayout gridbag5 = new GridBagLayout();
-	//	GridBagLayout gridbag125 = new GridBagLayout();
+
+    private void initComponents() {
+        Container contentPane = getContentPane();
+        //GridBagLayout gridbag0 = new GridBagLayout();
+        //GridBagLayout gridbag1 = new GridBagLayout();
+        //GridBagLayout gridbag2 = new GridBagLayout();
+        //GridBagLayout gridbag3 = new GridBagLayout();
+        //	GridBagLayout gridbag4 = new GridBagLayout();
+        //	GridBagLayout gridbag5 = new GridBagLayout();
+        //	GridBagLayout gridbag125 = new GridBagLayout();
 //		GridBagConstraints c0 = new GridBagConstraints();
 //		GridBagConstraints c1 = new GridBagConstraints();
 //		GridBagConstraints c2 = new GridBagConstraints();
 //		GridBagConstraints c3 = new GridBagConstraints();
 //		GridBagConstraints c4 = new GridBagConstraints();
 //		GridBagConstraints c5 = new GridBagConstraints();
-		
-		setFont(new Font("Helvetica", Font.PLAIN, 14));
-		contentPane.setLayout( new GridBagLayout() );
-		
-		setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
-		
-		pnlComPatternStruct = new JPanel();
-		pnlComPatternStruct.setLayout( new GridBagLayout() );
-		pnlComPatternStruct.setBorder(new TitledBorder("Communication Pattern Structure"));
-		pnlComPatternStruct.setPreferredSize(new Dimension(325, 350));
-		
-		pnmManageStruct = new JPanel();
-		pnmManageStruct.setLayout( new GridBagLayout() );
-		pnmManageStruct.setBorder(new TitledBorder("Managing Structure"));
-		pnmManageStruct.setPreferredSize(new Dimension(325, 350));
-
-		pnlCodeGen = new JPanel();
-		pnlCodeGen.setLayout( new GridBagLayout() );
-		pnlCodeGen.setBorder(new TitledBorder("Code Generation"));
-		//pnlCodeGen.setPreferredSize(new Dimension(200, 80));
-
-		pnlRootContainerInstances = new JPanel();
-		pnlRootContainerInstances.setPreferredSize(new Dimension(700, 1000));
-		
-		// Issue #36
-		pnlRootContainerInstances.setLayout( new GridBagLayout() );
-
-		pnlAttributeValues = new JPanel();
-		pnlAttributeValues.setLayout( new GridBagLayout() );
-		pnlAttributeValues.setBorder(new TitledBorder("Assign Value to Parameters"));
-		//pnlComPatternValues.setPreferredSize(new Dimension(325, 300));
-		
-		pnlManageAttributes = new JPanel();
-		pnlManageAttributes.setLayout( new GridBagLayout() );
-		pnlManageAttributes.setBorder(new TitledBorder("Managing Attributes"));
+
+        setFont(new Font("Helvetica", Font.PLAIN, 14));
+        contentPane.setLayout(new GridBagLayout());
+
+        setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
+
+        pnlComPatternStruct = new JPanel();
+        pnlComPatternStruct.setLayout(new GridBagLayout());
+        pnlComPatternStruct.setBorder(new TitledBorder("Communication Pattern Structure"));
+        pnlComPatternStruct.setPreferredSize(new Dimension(325, 350));
+
+        pnmManageStruct = new JPanel();
+        pnmManageStruct.setLayout(new GridBagLayout());
+        pnmManageStruct.setBorder(new TitledBorder("Managing Structure"));
+        pnmManageStruct.setPreferredSize(new Dimension(325, 350));
+
+        pnlCodeGen = new JPanel();
+        pnlCodeGen.setLayout(new GridBagLayout());
+        pnlCodeGen.setBorder(new TitledBorder("Code Generation"));
+        //pnlCodeGen.setPreferredSize(new Dimension(200, 80));
+
+        pnlRootContainerInstances = new JPanel();
+        pnlRootContainerInstances.setPreferredSize(new Dimension(700, 1000));
+
+        // Issue #36
+        pnlRootContainerInstances.setLayout(new GridBagLayout());
+
+        pnlAttributeValues = new JPanel();
+        pnlAttributeValues.setLayout(new GridBagLayout());
+        pnlAttributeValues.setBorder(new TitledBorder("Assign Value to Parameters"));
+        //pnlComPatternValues.setPreferredSize(new Dimension(325, 300));
+
+        pnlManageAttributes = new JPanel();
+        pnlManageAttributes.setLayout(new GridBagLayout());
+        pnlManageAttributes.setBorder(new TitledBorder("Managing Attributes"));
 
         // Issue #41 Ordering of tabbed panes 
-		tabbedPane = GraphicLib.createTabbedPane();//new JTabbedPane();
-		
-		// second line panel1
-		final int defaultMargin = 3;
-		final Insets lblInsets = new Insets( defaultMargin, defaultMargin, 0, defaultMargin );
-		final Insets tfdInsets = new Insets( 0, defaultMargin, defaultMargin, defaultMargin );
-
-		final GridBagConstraints c1 = new GridBagConstraints();
-		c1.gridwidth = GridBagConstraints.REMAINDER;
-		c1.weighty = 0.0;
-		c1.weightx = 1.0;
-		c1.anchor = GridBagConstraints.CENTER;
-		c1.fill = GridBagConstraints.HORIZONTAL;
-		//c1.anchor = GridBagConstraints.CENTER;
-		c1.insets = lblInsets;
-		
-		// third line panel1
-		pnlComPatternStruct.add(new JLabel("Name"), c1);
-		//c1.gridwidth = GridBagConstraints.REMAINDER; //end row
-		c1.insets = tfdInsets;
-		nameOfCP = new JTextField( name );
-		//nameOfCP.setPreferredSize( new Dimension(150, 30) );
-		pnlComPatternStruct.add( nameOfCP, c1 );
-		
-		//fourth line panel1
+        tabbedPane = GraphicLib.createTabbedPane();//new JTabbedPane();
+
+        // second line panel1
+        final int defaultMargin = 3;
+        final Insets lblInsets = new Insets(defaultMargin, defaultMargin, 0, defaultMargin);
+        final Insets tfdInsets = new Insets(0, defaultMargin, defaultMargin, defaultMargin);
+
+        final GridBagConstraints c1 = new GridBagConstraints();
+        c1.gridwidth = GridBagConstraints.REMAINDER;
+        c1.weighty = 0.0;
+        c1.weightx = 1.0;
+        c1.anchor = GridBagConstraints.CENTER;
+        c1.fill = GridBagConstraints.HORIZONTAL;
+        //c1.anchor = GridBagConstraints.CENTER;
+        c1.insets = lblInsets;
+
+        // third line panel1
+        pnlComPatternStruct.add(new JLabel("Name"), c1);
+        //c1.gridwidth = GridBagConstraints.REMAINDER; //end row
+        c1.insets = tfdInsets;
+        nameOfCP = new JTextField(name);
+        //nameOfCP.setPreferredSize( new Dimension(150, 30) );
+        pnlComPatternStruct.add(nameOfCP, c1);
+
+        //fourth line panel1
 //		c1.gridwidth = GridBagConstraints.REMAINDER; //end row
 //		c1.fill = GridBagConstraints.BOTH;
 //		c1.gridheight = 3;
-		//pnlComPatternStruct.add(new JLabel(" "), c1);	//adds some vertical space in between two JLabels
-		
-		communicationPatternsSL = createListCPsNames();	//fill listCPs and return the string version of the list of all CPs
+        //pnlComPatternStruct.add(new JLabel(" "), c1);	//adds some vertical space in between two JLabels
+
+        communicationPatternsSL = createListCPsNames();    //fill listCPs and return the string version of the list of all CPs
 		/*if( !emptyCPsList ) {
 			indexListCPsNames = indexOf( cp.getReference() );
 		}*/
-		
-		//fifth line panel1
-		c1.insets = lblInsets;
-		pnlComPatternStruct.add( new JLabel( "Available Communication Patterns" ), c1 );
-
-		communicationPatternsCB = new JComboBox<String>( communicationPatternsSL );
-		
-		if( !emptyListOfMappedUnits )	{
-			communicationPatternsCB.setSelectedItem( cp.getReference() );
-		}
-		else	{
-			communicationPatternsCB.setSelectedIndex(0);
-		}
-		
-		communicationPatternsCBActionListener = new ActionListener() {
-			
-			@Override
-			public void actionPerformed(ActionEvent e) {
-				freezeAllComboBoxes();
-				freeMappedUnits();
-				updateSDInstancesList();
-				updateMappableArchUnits();
-				unfreezeAllComboBoxes();
-				manageMapButton();
-			}
-		};
-		communicationPatternsCB.addActionListener( communicationPatternsCBActionListener );
-		//communicationPatternsCB.setPreferredSize( new Dimension(150, 30) );
-		c1.insets = tfdInsets;
-		pnlComPatternStruct.add( communicationPatternsCB, c1 );
-		
-		//sixth line panel1
+
+        //fifth line panel1
+        c1.insets = lblInsets;
+        pnlComPatternStruct.add(new JLabel("Available Communication Patterns"), c1);
+
+        communicationPatternsCB = new JComboBox<String>(communicationPatternsSL);
+
+        if (!emptyListOfMappedUnits) {
+            communicationPatternsCB.setSelectedItem(cp.getReference());
+        } else {
+            communicationPatternsCB.setSelectedIndex(0);
+        }
+
+        communicationPatternsCBActionListener = new ActionListener() {
+
+            @Override
+            public void actionPerformed(ActionEvent e) {
+                freezeAllComboBoxes();
+                freeMappedUnits();
+                updateSDInstancesList();
+                updateMappableArchUnits();
+                unfreezeAllComboBoxes();
+                manageMapButton();
+            }
+        };
+        communicationPatternsCB.addActionListener(communicationPatternsCBActionListener);
+        //communicationPatternsCB.setPreferredSize( new Dimension(150, 30) );
+        c1.insets = tfdInsets;
+        pnlComPatternStruct.add(communicationPatternsCB, c1);
+
+        //sixth line panel1
 //		c1.gridwidth = GridBagConstraints.REMAINDER; //end row
 //		c1.fill = GridBagConstraints.BOTH;
 //		c1.gridheight = 3;
 //		c1.insets = lblInsets;
-		//pnlComPatternStruct.add(new JLabel(" "), c1);
-		
-		sdInstancesSL = new Vector<String>();
-		// Create the array lists of HashSet listInstancesHash, sdControllerInstances, sdStorageInstances and sdTransferInstances
-		createListsOfInstances();
-		
-		if( sdInstancesSL.size() == 0 )	{	//protect against the case of a CP with no SDs
-			sdInstancesSL.add( EMPTY_INSTANCES_LIST );
-		}
-		
-		//seventh line panel1
-		//c1.gridwidth = GridBagConstraints.REMAINDER; //end row
-		//c1.fill = GridBagConstraints.BOTH;
-		//c1.gridheight = 3;
-		c1.insets = lblInsets;
-		pnlComPatternStruct.add( new JLabel( "Available Instances" ), c1 );
-
-		sdInstancesCB = new JComboBox<String>( sdInstancesSL );
-		sdInstancesCB.setSelectedIndex( 0 );
-		sdInstancesCBActionListener =  new ActionListener() {
-			
-			@Override
-			public void actionPerformed(ActionEvent e) {
-				freezeSDInstancesCB();
-				updateMappableArchUnits();
-				unfreezeSDInstancesCB();
-				manageMapButton();
-			}
-		};
-		
-		sdInstancesCB.addActionListener( sdInstancesCBActionListener );
-		//sdInstancesCB.setPreferredSize( new Dimension(150, 30) );
-		c1.insets = tfdInsets;
-		pnlComPatternStruct.add( sdInstancesCB, c1 );
-		
-		//eigth line panel1
-		//c1.gridwidth = GridBagConstraints.REMAINDER; //end row
-		//c1.fill = GridBagConstraints.BOTH;
-		//c1.gridheight = 3;
-		//pnlComPatternStruct.add(new JLabel(" "), c1);
-		
-		mappableArchUnitsSL = new Vector<String>();	//the string list used in the architecture units combo box
-
-		checkValidityOfMappingInformation();		//checks the validity of both CP and mapped arch units
-
-		makeListOfMappableArchUnitsSL();
-		
-		//nineth line panel1
-		mappableArchUnitsJL = new JList<String>( mappableArchUnitsSL );
-		mappableArchUnitsJL.setSelectionMode( ListSelectionModel.MULTIPLE_INTERVAL_SELECTION );
-		mappableArchUnitsJL.addListSelectionListener( new ListSelectionListener() {
-			
-			@Override
-			public void valueChanged(ListSelectionEvent e) {
-				manageMapButton();
-			}
-		} );
-		
-		mappableArchUnitsSP = new JScrollPane( mappableArchUnitsJL );
-		mappableArchUnitsSP.setSize( 300, 400 );
-
-		c1.insets = lblInsets;
-		pnlComPatternStruct.add( new JLabel( "Available Platform Units"), c1 );
-		//c1.gridwidth = GridBagConstraints.REMAINDER; //end row
-		c1.fill = GridBagConstraints.BOTH;
-		//c1.gridheight = 5;
-		c1.weighty = 1.0;
-		//c1.weightx = 10.0;
-		c1.insets = tfdInsets;
-		pnlComPatternStruct.add( mappableArchUnitsSP, c1 );
-		
-		//tenth line panel1
-		//c1.gridwidth = GridBagConstraints.REMAINDER; //end row
-		//c1.fill = GridBagConstraints.BOTH;
-		//c1.gridheight = 3;
-		//pnlComPatternStruct.add(new JLabel(" "), c1);
-		
-		//eleventh line panel1
-		//c1.gridheight = 1;
-		c1.weighty = 0.0;
-		c1.fill = GridBagConstraints.HORIZONTAL;
-		c1.insets = lblInsets;
-		mapButton = new JButton("Map");
-		mapButton.addActionListener( new ActionListener() {
-			
-			@Override
-			public void actionPerformed(ActionEvent e) {
-				freezeSDInstancesCB();
-				mapInstance();
-				unfreezeSDInstancesCB();
-				sdInstancesCB.setSelectedIndex(0);
-				updateMappableArchUnits();
-				manageMapButton();
-				manageManagingStructureButtons();
-			}
-		});
-		pnlComPatternStruct.add(mapButton, c1);
-		
-
-		// 1st line panel2
-		listMappedUnitsJL = new JList<String>( mappedUnitsSL );
-		listMappedUnitsJL.setSelectionMode(ListSelectionModel.SINGLE_SELECTION );
-		listMappedUnitsJL.addListSelectionListener( new ListSelectionListener() {
-			
-			@Override
-			public void valueChanged( ListSelectionEvent e) {
-				manageManagingStructureButtons();
-			}
-		} );
-		
-		scrollPane = new JScrollPane( listMappedUnitsJL );
-		scrollPane.setSize(300, 250);
-		final GridBagConstraints c2 = new GridBagConstraints();
-		c2.gridwidth = GridBagConstraints.REMAINDER; //end row
-		c2.fill = GridBagConstraints.BOTH;
-		c2.gridheight = 1;
-		c2.weighty = 1.0;
-		c2.weightx = 1.0;
-		c2.insets = new Insets( defaultMargin, defaultMargin, defaultMargin, defaultMargin );
-		pnmManageStruct.add(scrollPane, c2);
-		
-		// 2nd line panel2
-		c2.weighty = 0.0;
-		//c2.weightx = 1.0;
-		c2.fill = GridBagConstraints.HORIZONTAL;
-		//c2.gridheight = 1;
-		//pnmManageStruct.add(new JLabel(""), c2);
-		
-		// third line panel2
-		//c2.gridwidth = GridBagConstraints.REMAINDER; //end row
-		//c2.fill = GridBagConstraints.HORIZONTAL;
-		upButton = new JButton("Up");
-		upButton.addActionListener( new ActionListener() {
-			
-			@Override
-			public void actionPerformed(ActionEvent e) {
-				upMappedInstance();
-			}
-		});
-		pnmManageStruct.add(upButton, c2);
-		
-		downButton = new JButton("Down");
-		downButton.addActionListener( new ActionListener() {
-			
-			@Override
-			public void actionPerformed(ActionEvent e) {
-				downMappedInstance();
-			}
-		} );
-		pnmManageStruct.add(downButton, c2);
-		
-		removeButton = new JButton("Remove Unit");
-		removeButton.addActionListener( new ActionListener() {
-			
-			@Override
-			public void actionPerformed(ActionEvent e) {
-				freezeSDInstancesCB();
-				removeMappedInstance();
-				sdInstancesCB.setSelectedIndex(0);
-				updateMappableArchUnits();
-				unfreezeSDInstancesCB();
-				manageMapButton();
-			}
-		} );
-		
-		pnmManageStruct.add(removeButton, c2);
-
-		//panel3
+        //pnlComPatternStruct.add(new JLabel(" "), c1);
+
+        sdInstancesSL = new Vector<String>();
+        // Create the array lists of HashSet listInstancesHash, sdControllerInstances, sdStorageInstances and sdTransferInstances
+        createListsOfInstances();
+
+        if (sdInstancesSL.size() == 0) {    //protect against the case of a CP with no SDs
+            sdInstancesSL.add(EMPTY_INSTANCES_LIST);
+        }
+
+        //seventh line panel1
+        //c1.gridwidth = GridBagConstraints.REMAINDER; //end row
+        //c1.fill = GridBagConstraints.BOTH;
+        //c1.gridheight = 3;
+        c1.insets = lblInsets;
+        pnlComPatternStruct.add(new JLabel("Available Instances"), c1);
+
+        sdInstancesCB = new JComboBox<String>(sdInstancesSL);
+        sdInstancesCB.setSelectedIndex(0);
+        sdInstancesCBActionListener = new ActionListener() {
+
+            @Override
+            public void actionPerformed(ActionEvent e) {
+                freezeSDInstancesCB();
+                updateMappableArchUnits();
+                unfreezeSDInstancesCB();
+                manageMapButton();
+            }
+        };
+
+        sdInstancesCB.addActionListener(sdInstancesCBActionListener);
+        //sdInstancesCB.setPreferredSize( new Dimension(150, 30) );
+        c1.insets = tfdInsets;
+        pnlComPatternStruct.add(sdInstancesCB, c1);
+
+        //eigth line panel1
+        //c1.gridwidth = GridBagConstraints.REMAINDER; //end row
+        //c1.fill = GridBagConstraints.BOTH;
+        //c1.gridheight = 3;
+        //pnlComPatternStruct.add(new JLabel(" "), c1);
+
+        mappableArchUnitsSL = new Vector<String>();    //the string list used in the architecture units combo box
+
+        checkValidityOfMappingInformation();        //checks the validity of both CP and mapped arch units
+
+        makeListOfMappableArchUnitsSL();
+
+        //nineth line panel1
+        mappableArchUnitsJL = new JList<String>(mappableArchUnitsSL);
+        mappableArchUnitsJL.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);
+        mappableArchUnitsJL.addListSelectionListener(new ListSelectionListener() {
+
+            @Override
+            public void valueChanged(ListSelectionEvent e) {
+                manageMapButton();
+            }
+        });
+
+        mappableArchUnitsSP = new JScrollPane(mappableArchUnitsJL);
+        mappableArchUnitsSP.setSize(300, 400);
+
+        c1.insets = lblInsets;
+        pnlComPatternStruct.add(new JLabel("Available Platform Units"), c1);
+        //c1.gridwidth = GridBagConstraints.REMAINDER; //end row
+        c1.fill = GridBagConstraints.BOTH;
+        //c1.gridheight = 5;
+        c1.weighty = 1.0;
+        //c1.weightx = 10.0;
+        c1.insets = tfdInsets;
+        pnlComPatternStruct.add(mappableArchUnitsSP, c1);
+
+        //tenth line panel1
+        //c1.gridwidth = GridBagConstraints.REMAINDER; //end row
+        //c1.fill = GridBagConstraints.BOTH;
+        //c1.gridheight = 3;
+        //pnlComPatternStruct.add(new JLabel(" "), c1);
+
+        //eleventh line panel1
+        //c1.gridheight = 1;
+        c1.weighty = 0.0;
+        c1.fill = GridBagConstraints.HORIZONTAL;
+        c1.insets = lblInsets;
+        mapButton = new JButton("Map");
+        mapButton.addActionListener(new ActionListener() {
+
+            @Override
+            public void actionPerformed(ActionEvent e) {
+                freezeSDInstancesCB();
+                mapInstance();
+                unfreezeSDInstancesCB();
+                sdInstancesCB.setSelectedIndex(0);
+                updateMappableArchUnits();
+                manageMapButton();
+                manageManagingStructureButtons();
+            }
+        });
+        pnlComPatternStruct.add(mapButton, c1);
+
+
+        // 1st line panel2
+        listMappedUnitsJL = new JList<String>(mappedUnitsSL);
+        listMappedUnitsJL.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
+        listMappedUnitsJL.addListSelectionListener(new ListSelectionListener() {
+
+            @Override
+            public void valueChanged(ListSelectionEvent e) {
+                manageManagingStructureButtons();
+            }
+        });
+
+        scrollPane = new JScrollPane(listMappedUnitsJL);
+        scrollPane.setSize(300, 250);
+        final GridBagConstraints c2 = new GridBagConstraints();
+        c2.gridwidth = GridBagConstraints.REMAINDER; //end row
+        c2.fill = GridBagConstraints.BOTH;
+        c2.gridheight = 1;
+        c2.weighty = 1.0;
+        c2.weightx = 1.0;
+        c2.insets = new Insets(defaultMargin, defaultMargin, defaultMargin, defaultMargin);
+        pnmManageStruct.add(scrollPane, c2);
+
+        // 2nd line panel2
+        c2.weighty = 0.0;
+        //c2.weightx = 1.0;
+        c2.fill = GridBagConstraints.HORIZONTAL;
+        //c2.gridheight = 1;
+        //pnmManageStruct.add(new JLabel(""), c2);
+
+        // third line panel2
+        //c2.gridwidth = GridBagConstraints.REMAINDER; //end row
+        //c2.fill = GridBagConstraints.HORIZONTAL;
+        upButton = new JButton("Up");
+        upButton.addActionListener(new ActionListener() {
+
+            @Override
+            public void actionPerformed(ActionEvent e) {
+                upMappedInstance();
+            }
+        });
+        pnmManageStruct.add(upButton, c2);
+
+        downButton = new JButton("Down");
+        downButton.addActionListener(new ActionListener() {
+
+            @Override
+            public void actionPerformed(ActionEvent e) {
+                downMappedInstance();
+            }
+        });
+        pnmManageStruct.add(downButton, c2);
+
+        removeButton = new JButton("Remove Unit");
+        removeButton.addActionListener(new ActionListener() {
+
+            @Override
+            public void actionPerformed(ActionEvent e) {
+                freezeSDInstancesCB();
+                removeMappedInstance();
+                sdInstancesCB.setSelectedIndex(0);
+                updateMappableArchUnits();
+                unfreezeSDInstancesCB();
+                manageMapButton();
+            }
+        });
+
+        pnmManageStruct.add(removeButton, c2);
+
+        //panel3
 //		c3.weighty = 1.0;
 //		c3.weightx = 1.0;
 //		c3.gridwidth = GridBagConstraints.REMAINDER; //end row
 //		c3.fill = GridBagConstraints.BOTH;
 //		c3.gridheight = 3;
-		//pncComPatternValues.add( new JLabel(" "), c3 );
-		
-		//get the attributes from the selected CP
-		createAttributesAndAddressVector();
-		createApplicationAttributesVector();
-
-		if( assignedAttributes.size() > 0 )	{
-			filterOutAssignedAttributes( attributesVector );	//eliminate the attributes that have already been assigned a value
-		}
-		
-		final GridBagConstraints c3 = new GridBagConstraints();
-		c3.gridwidth = GridBagConstraints.REMAINDER;
-		c3.gridheight = 1;
-		c3.weighty = 1.0;
-		c3.weightx = 1.0;
-		c3.anchor = GridBagConstraints.SOUTHWEST;
-		c3.fill = GridBagConstraints.HORIZONTAL;
-		c3.insets = lblInsets;
-		pnlAttributeValues.add( new JLabel("Attribute"), c3 );
-		attributesList_CB = new JComboBox<String>( attributesVector );
-		attributesList_CB.addActionListener( new ActionListener() {
-			
-			@Override
-			public void actionPerformed(ActionEvent e) {
-				manageRemoveAttributeButton();
-			}
-		});
-		c3.anchor = GridBagConstraints.NORTHWEST;
-		c3.weighty = 0.0;
-		c3.insets = tfdInsets;
-		pnlAttributeValues.add( attributesList_CB, c3 );
-
-		//c3.gridwidth = GridBagConstraints.REMAINDER; //end row
-		//pnlComPatternValues.add( new JLabel(" "), c3 );
-		//c3.gridwidth = GridBagConstraints.REMAINDER; //end row
-		//pnlComPatternValues.add( new JLabel(" "), c3 );
+        //pncComPatternValues.add( new JLabel(" "), c3 );
+
+        //get the attributes from the selected CP
+        createAttributesAndAddressVector();
+        createApplicationAttributesVector();
+
+        if (assignedAttributes.size() > 0) {
+            filterOutAssignedAttributes(attributesVector);    //eliminate the attributes that have already been assigned a value
+        }
+
+        final GridBagConstraints c3 = new GridBagConstraints();
+        c3.gridwidth = GridBagConstraints.REMAINDER;
+        c3.gridheight = 1;
+        c3.weighty = 1.0;
+        c3.weightx = 1.0;
+        c3.anchor = GridBagConstraints.SOUTHWEST;
+        c3.fill = GridBagConstraints.HORIZONTAL;
+        c3.insets = lblInsets;
+        pnlAttributeValues.add(new JLabel("Attribute"), c3);
+        attributesList_CB = new JComboBox<String>(attributesVector);
+        attributesList_CB.addActionListener(new ActionListener() {
+
+            @Override
+            public void actionPerformed(ActionEvent e) {
+                manageRemoveAttributeButton();
+            }
+        });
+        c3.anchor = GridBagConstraints.NORTHWEST;
+        c3.weighty = 0.0;
+        c3.insets = tfdInsets;
+        pnlAttributeValues.add(attributesList_CB, c3);
+
+        //c3.gridwidth = GridBagConstraints.REMAINDER; //end row
+        //pnlComPatternValues.add( new JLabel(" "), c3 );
+        //c3.gridwidth = GridBagConstraints.REMAINDER; //end row
+        //pnlComPatternValues.add( new JLabel(" "), c3 );
 
 		/*panel3.add( new JLabel("Application attribute:"), c3 );
 		applicationAttributesList_CB = new JComboBox( applicationAttributesVector );
 		applicationAttributesList_CB.addActionListener(this);
 		panel3.add( applicationAttributesList_CB, c3 );*/
 
-		//c3.gridwidth = GridBagConstraints.REMAINDER; //end row
-		//c3.fill = GridBagConstraints.BOTH;
-	//	c3.gridheight = 3;
-		//pnlComPatternValues.add( new JLabel(" "), c3 );	//adds some vertical space in between two JLabels
+        //c3.gridwidth = GridBagConstraints.REMAINDER; //end row
+        //c3.fill = GridBagConstraints.BOTH;
+        //	c3.gridheight = 3;
+        //pnlComPatternValues.add( new JLabel(" "), c3 );	//adds some vertical space in between two JLabels
 
-		c3.insets = lblInsets;
-		pnlAttributeValues.add( new JLabel("Attribute Value"), c3 );
-		attributesValue_TF = new JTextField( "", 5 );
+        c3.insets = lblInsets;
+        pnlAttributeValues.add(new JLabel("Attribute Value"), c3);
+        attributesValue_TF = new JTextField("", 5);
 //		attributesValue_TF.setPreferredSize( new Dimension(150, 30) );
-		c3.insets = tfdInsets;
-		pnlAttributeValues.add( attributesValue_TF, c3 );
-
-	//	c3.gridwidth = GridBagConstraints.REMAINDER; //end row
-		//c3.fill = GridBagConstraints.BOTH;
-		//c3.gridheight = 3;
-		//pnlComPatternValues.add( new JLabel(" "), c3 );	//adds some vertical space in between two JLabels
-
-		c3.insets = lblInsets;
-		c3.weighty = 1.0;
-		attributeButton = new JButton("Assign Attribute Value");
-		attributeButton.addActionListener( new ActionListener() {
-			
-			@Override
-			public void actionPerformed(ActionEvent e) {
-				assignValueToAttribute();
-			}
-		} );
-		
-		pnlAttributeValues.add( attributeButton, c3 );
-
-		//c3.gridwidth = GridBagConstraints.REMAINDER; //end row
-	//	c3.fill = GridBagConstraints.BOTH;
-		//c3.gridheight = 3;
-		//pnlComPatternValues.add( new JLabel(" "), c3 );	//adds some vertical space in between two JLabels
-
-		if( assignedAttributes.size() > 0 )	{
-			filterOutAssignedAddresses( addressVector );	//eliminate the addresses that have already been assigned a value
-		}
-
-		c3.insets = lblInsets;
-		c3.weighty = 0.0;
-		pnlAttributeValues.add( new JLabel("Address"), c3 );
-		addressList_CB = new JComboBox<String>( addressVector );
-		addressList_CB.addActionListener( new ActionListener() {
-			
-			@Override
-			public void actionPerformed(ActionEvent e) {
-				// TODO Auto-generated method stub
-				
-			}
-		});
-		c3.insets = tfdInsets;
-		pnlAttributeValues.add( addressList_CB, c3 );
-
-		//c3.gridwidth = GridBagConstraints.REMAINDER; //end row
-		//c3.fill = GridBagConstraints.BOTH;
-		//c3.gridheight = 3;
-		//pnlComPatternValues.add( new JLabel(" "), c3 );
-
-		c3.insets = lblInsets;
-		pnlAttributeValues.add( new JLabel("Address Value"), c3 );
-		addressValue_TF = new JTextField( "", 5 );
-		c3.insets = tfdInsets;
-		pnlAttributeValues.add( addressValue_TF, c3 );
-
-		addressButton = new JButton("Assign Address Value");
-		addressButton.addActionListener( new ActionListener() {
-			
-			@Override
-			public void actionPerformed(ActionEvent e) {
-				assignValueToAddress();
-			}
-		} );
-		
-		c3.insets = lblInsets;
-		c3.weighty = 1.0;
-		pnlAttributeValues.add( addressButton, c3 );
-
-		scrollPaneAttributes_JL = new JList<String>( assignedAttributes );
-		scrollPaneAttributes_JL.setSelectionMode( ListSelectionModel.SINGLE_SELECTION );
-		scrollPaneAttributes_JL.addListSelectionListener( new ListSelectionListener() {
-			
-			@Override
-			public void valueChanged(ListSelectionEvent e) {
-				manageRemoveAttributeButton();
-			}
-		} );
-		scrollPaneAttributes = new JScrollPane( scrollPaneAttributes_JL );
-		scrollPaneAttributes.setSize(300, 250);
-		
-		final GridBagConstraints c4 = new GridBagConstraints();
-		c4.gridwidth = GridBagConstraints.REMAINDER; //end row
-		c4.fill = GridBagConstraints.BOTH;
-	//	c4.gridheight = 5;
-		c4.weighty = 1.0;
-		c4.weightx = 1.0;
-		c4.insets = lblInsets;
-		pnlManageAttributes.add( scrollPaneAttributes, c4 );
-		//c4.gridheight = 1;
-		//pnlManageAttributes.add(new JLabel(""), c4);
-		// third line panel2
-		//c4.gridwidth = GridBagConstraints.REMAINDER; //end row
-		c4.weighty = 0.0;
-		c4.fill = GridBagConstraints.HORIZONTAL;
-		removeAttributeButton = new JButton("Remove Attribute");
-		removeAttributeButton.addActionListener( new ActionListener() {
-			
-			@Override
-			public void actionPerformed(ActionEvent e) {
-				int indexToRemove = scrollPaneAttributes_JL.getSelectedIndex();
-				final String attr = assignedAttributes.get( indexToRemove );
-				final String attrType = attr.split(" ")[0];	//get the attribute type, differentiate between addr and int/bool
-				
-				if ( attrType.equals( TMLType.ADDRESS_STRING ) ) {
-					removeAssignedAddress( indexToRemove, attr );
-				}
-				else {
-					removeAssignedAttribute( indexToRemove, attr );
-				}
-				
-				scrollPaneAttributes_JL.setSelectedIndex( indexToRemove >= assignedAttributes.size() ? assignedAttributes.size() - 1 : indexToRemove );
-			}
-		} );
-		
-		pnlManageAttributes.add(removeAttributeButton, c4);
-
-		final GridBagConstraints c5 = new GridBagConstraints();
-		c5.gridwidth = 1;
-		c5.gridheight = 1;
-		c5.weighty = 1.0;
-		c5.weightx = 1.0;
-		c5.fill = GridBagConstraints.HORIZONTAL;
-		c5.anchor = GridBagConstraints.LINE_START;
-		c5.insets = lblInsets;
-		pnlCodeGen.add( new JLabel( "Extension Construct:" ), c5 );
-		cpMECsCB = new JComboBox<String>( new Vector<String>( Arrays.asList( CPMEC.CP_TYPES ) ) );
-		
-		if( cpMEC.equals( "VOID" ) || cpMEC.equals( "" ) )	{
-			cpMECsCB.setSelectedIndex( 0 );
+        c3.insets = tfdInsets;
+        pnlAttributeValues.add(attributesValue_TF, c3);
+
+        //	c3.gridwidth = GridBagConstraints.REMAINDER; //end row
+        //c3.fill = GridBagConstraints.BOTH;
+        //c3.gridheight = 3;
+        //pnlComPatternValues.add( new JLabel(" "), c3 );	//adds some vertical space in between two JLabels
+
+        c3.insets = lblInsets;
+        c3.weighty = 1.0;
+        attributeButton = new JButton("Assign Attribute Value");
+        attributeButton.addActionListener(new ActionListener() {
+
+            @Override
+            public void actionPerformed(ActionEvent e) {
+                assignValueToAttribute();
+            }
+        });
+
+        pnlAttributeValues.add(attributeButton, c3);
+
+        //c3.gridwidth = GridBagConstraints.REMAINDER; //end row
+        //	c3.fill = GridBagConstraints.BOTH;
+        //c3.gridheight = 3;
+        //pnlComPatternValues.add( new JLabel(" "), c3 );	//adds some vertical space in between two JLabels
+
+        if (assignedAttributes.size() > 0) {
+            filterOutAssignedAddresses(addressVector);    //eliminate the addresses that have already been assigned a value
+        }
+
+        c3.insets = lblInsets;
+        c3.weighty = 0.0;
+        pnlAttributeValues.add(new JLabel("Address"), c3);
+        addressList_CB = new JComboBox<String>(addressVector);
+        addressList_CB.addActionListener(new ActionListener() {
+
+            @Override
+            public void actionPerformed(ActionEvent e) {
+                // TODO Auto-generated method stub
+
+            }
+        });
+        c3.insets = tfdInsets;
+        pnlAttributeValues.add(addressList_CB, c3);
+
+        //c3.gridwidth = GridBagConstraints.REMAINDER; //end row
+        //c3.fill = GridBagConstraints.BOTH;
+        //c3.gridheight = 3;
+        //pnlComPatternValues.add( new JLabel(" "), c3 );
+
+        c3.insets = lblInsets;
+        pnlAttributeValues.add(new JLabel("Address Value"), c3);
+        addressValue_TF = new JTextField("", 5);
+        c3.insets = tfdInsets;
+        pnlAttributeValues.add(addressValue_TF, c3);
+
+        addressButton = new JButton("Assign Address Value");
+        addressButton.addActionListener(new ActionListener() {
+
+            @Override
+            public void actionPerformed(ActionEvent e) {
+                assignValueToAddress();
+            }
+        });
+
+        c3.insets = lblInsets;
+        c3.weighty = 1.0;
+        pnlAttributeValues.add(addressButton, c3);
+
+        scrollPaneAttributes_JL = new JList<String>(assignedAttributes);
+        scrollPaneAttributes_JL.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
+        scrollPaneAttributes_JL.addListSelectionListener(new ListSelectionListener() {
+
+            @Override
+            public void valueChanged(ListSelectionEvent e) {
+                manageRemoveAttributeButton();
+            }
+        });
+        scrollPaneAttributes = new JScrollPane(scrollPaneAttributes_JL);
+        scrollPaneAttributes.setSize(300, 250);
+
+        final GridBagConstraints c4 = new GridBagConstraints();
+        c4.gridwidth = GridBagConstraints.REMAINDER; //end row
+        c4.fill = GridBagConstraints.BOTH;
+        //	c4.gridheight = 5;
+        c4.weighty = 1.0;
+        c4.weightx = 1.0;
+        c4.insets = lblInsets;
+        pnlManageAttributes.add(scrollPaneAttributes, c4);
+        //c4.gridheight = 1;
+        //pnlManageAttributes.add(new JLabel(""), c4);
+        // third line panel2
+        //c4.gridwidth = GridBagConstraints.REMAINDER; //end row
+        c4.weighty = 0.0;
+        c4.fill = GridBagConstraints.HORIZONTAL;
+        removeAttributeButton = new JButton("Remove Attribute");
+        removeAttributeButton.addActionListener(new ActionListener() {
+
+            @Override
+            public void actionPerformed(ActionEvent e) {
+                int indexToRemove = scrollPaneAttributes_JL.getSelectedIndex();
+                final String attr = assignedAttributes.get(indexToRemove);
+                final String attrType = attr.split(" ")[0];    //get the attribute type, differentiate between addr and int/bool
+
+                if (attrType.equals(TMLType.ADDRESS_STRING)) {
+                    removeAssignedAddress(indexToRemove, attr);
+                } else {
+                    removeAssignedAttribute(indexToRemove, attr);
+                }
+
+                scrollPaneAttributes_JL.setSelectedIndex(indexToRemove >= assignedAttributes.size() ? assignedAttributes.size() - 1 : indexToRemove);
+            }
+        });
+
+        pnlManageAttributes.add(removeAttributeButton, c4);
+
+        final GridBagConstraints c5 = new GridBagConstraints();
+        c5.gridwidth = 1;
+        c5.gridheight = 1;
+        c5.weighty = 1.0;
+        c5.weightx = 1.0;
+        c5.fill = GridBagConstraints.HORIZONTAL;
+        c5.anchor = GridBagConstraints.LINE_START;
+        c5.insets = lblInsets;
+        pnlCodeGen.add(new JLabel("Extension Construct:"), c5);
+        cpMECsCB = new JComboBox<String>(new Vector<String>(Arrays.asList(CPMEC.CP_TYPES)));
+
+        if (cpMEC.equals("VOID") || cpMEC.equals("")) {
+            cpMECsCB.setSelectedIndex(0);
             cpMEC = CPMEC.MEMORY_COPY;
-		}
-		else	{
-			cpMECsCB.setSelectedIndex( new Vector<String>( Arrays.asList( CPMEC.CP_TYPES ) ).indexOf( cpMEC ) );
-		}
-		
-		cpMECsCB.addActionListener( new ActionListener() {
-			
-			@Override
-			public void actionPerformed(ActionEvent e) {
-				enableDisableTransferTypeCBs();
-			}
-		} );
-		//cpMECsCB.setMinimumSize( new Dimension(150, 50) );
-		c5.gridwidth = GridBagConstraints.REMAINDER;
-		pnlCodeGen.add( cpMECsCB, c5 );
-		//
+        } else {
+            cpMECsCB.setSelectedIndex(new Vector<String>(Arrays.asList(CPMEC.CP_TYPES)).indexOf(cpMEC));
+        }
+
+        cpMECsCB.addActionListener(new ActionListener() {
+
+            @Override
+            public void actionPerformed(ActionEvent e) {
+                enableDisableTransferTypeCBs();
+            }
+        });
+        //cpMECsCB.setMinimumSize( new Dimension(150, 50) );
+        c5.gridwidth = GridBagConstraints.REMAINDER;
+        pnlCodeGen.add(cpMECsCB, c5);
+        //
 //		c5.gridwidth = GridBagConstraints.REMAINDER; //end row
-		//pnlCodeGen.add(new JLabel(""), c5);
-		c5.gridwidth = 1;
+        //pnlCodeGen.add(new JLabel(""), c5);
+        c5.gridwidth = 1;
 //		c5.gridheight = 1;
 //		c5.weighty = 1.0;
 //		c5.weightx = 1.0;
 //		c5.fill = GridBagConstraints.HORIZONTAL;
-		pnlCodeGen.add( new JLabel( "Type of DMA Transfer n.1:" ), c5 );
-		transferTypeCB1 = new JComboBox<String>( new Vector<String>( Arrays.asList( CPMEC.TRANSFER_TYPES ) ) );
-		
-		if( transferType1 == -1 ) {
-			transferTypeCB1.setSelectedIndex( 0 );
-		}
-		else {
-			transferTypeCB1.setSelectedIndex( transferType1 );
-		}
-		
-		transferTypeCB1.addActionListener( new ActionListener() {
-			
-			@Override
-			public void actionPerformed(ActionEvent e) {
-				// TODO Auto-generated method stub
-				
-			}
-		} );
-		
+        pnlCodeGen.add(new JLabel("Type of DMA Transfer n.1:"), c5);
+        transferTypeCB1 = new JComboBox<String>(new Vector<String>(Arrays.asList(CPMEC.TRANSFER_TYPES)));
+
+        if (transferType1 == -1) {
+            transferTypeCB1.setSelectedIndex(0);
+        } else {
+            transferTypeCB1.setSelectedIndex(transferType1);
+        }
+
+        transferTypeCB1.addActionListener(new ActionListener() {
+
+            @Override
+            public void actionPerformed(ActionEvent e) {
+                // TODO Auto-generated method stub
+
+            }
+        });
+
 //		transferTypeCB1.setMinimumSize( new Dimension(150, 50) );
-		c5.gridwidth = GridBagConstraints.REMAINDER;
-		pnlCodeGen.add( transferTypeCB1, c5 );
-		//
-		//c5.gridwidth = GridBagConstraints.REMAINDER; //end row
-		//pnlCodeGen.add(new JLabel(""), c5);
+        c5.gridwidth = GridBagConstraints.REMAINDER;
+        pnlCodeGen.add(transferTypeCB1, c5);
+        //
+        //c5.gridwidth = GridBagConstraints.REMAINDER; //end row
+        //pnlCodeGen.add(new JLabel(""), c5);
 //		c5.gridwidth = 1;
 //		c5.gridheight = 1;
 //		c5.weighty = 1.0;
 //		c5.weightx = 1.0;
 //		c5.fill = GridBagConstraints.HORIZONTAL;
 //		c5.anchor = GridBagConstraints.LINE_START;
-		c5.gridwidth = 1;
-		pnlCodeGen.add( new JLabel( "Type of DMA Transfer n.2:" ), c5 );
-		transferTypeCB2 = new JComboBox<String>( new Vector<String>( Arrays.asList( CPMEC.TRANSFER_TYPES ) ) );
-		
-		if( transferType2 == -1 ) {
-			transferTypeCB2.setSelectedIndex( 0 );
-		}
-		else {
-			transferTypeCB2.setSelectedIndex( transferType2 );
-		}
-		
-		transferTypeCB2.addActionListener( new ActionListener() {
-			
-			@Override
-			public void actionPerformed(ActionEvent e) {
-				manageMapButton();
-			}
-		} );
-		//transferTypeCB2.setMinimumSize( new Dimension(150, 50) );
-		c5.gridwidth = GridBagConstraints.REMAINDER;
-		pnlCodeGen.add( transferTypeCB2, c5 );
-		enableDisableTransferTypeCBs();
-		
-		// main panel;
-		final GridBagConstraints c0 = new GridBagConstraints();
-		c0.gridwidth = 1;	//num columns
-		c0.gridheight = 1;	//num rows
-		c0.weighty = 1.0;
-		c0.weightx = 1.0;
-		c0.fill = GridBagConstraints.BOTH;
-		pnlRootContainerInstances.add( pnlComPatternStruct, c0 );
-		pnlRootContainerInstances.add( pnmManageStruct, c0 );
-
-		tabbedPane.addTab( "Instances", pnlRootContainerInstances );
-
-		pnlRootContainerAttributes = new JPanel();
-		pnlRootContainerAttributes.setLayout( new GridBagLayout() );
-		pnlRootContainerAttributes.setPreferredSize(new Dimension(700, 1000));
-		pnlRootContainerAttributes.add( pnlAttributeValues, c0 );
-		c0.gridwidth = GridBagConstraints.REMAINDER; //end row
-		pnlRootContainerAttributes.add( pnlManageAttributes, c0 );
-
-		tabbedPane.addTab( "Attributes", pnlRootContainerAttributes );
-		tabbedPane.addTab( "Code Generation", pnlCodeGen );
-		tabbedPane.setSelectedIndex(0);
-		contentPane.add( tabbedPane, c0 );
-
-		
-		c0.gridwidth = 1;
-		c0.fill = GridBagConstraints.HORIZONTAL;
-		c0.weighty = 0.0;
-		c0.insets = new Insets( 10, defaultMargin, 10, defaultMargin );
-		closeButton = new JButton("Save and Close", IconManager.imgic25);
-		//closeButton.setPreferredSize(new Dimension(200, 50));
-		closeButton.addActionListener( new ActionListener() {
-			
-			@Override
-			public void actionPerformed(ActionEvent e) {
-				closeDialog();
-			}
-		} );
-		
-		contentPane.add(closeButton, c0);
-		c0.gridwidth = GridBagConstraints.REMAINDER; //end row
-		cancelButton = new JButton("Cancel", IconManager.imgic27);
-		//cancelButton.setPreferredSize(new Dimension(200, 50));
-		cancelButton.addActionListener( new ActionListener() {
-			
-			@Override
-			public void actionPerformed(ActionEvent e) {
-				cancelDialog();
-			}
-		});
-		
-		contentPane.add(cancelButton, c0);
-		
-		manageManagingStructureButtons();
-		manageMapButton();
-		manageRemoveAttributeButton();
-	}
-
-	private void makeListOfMappableArchUnitsSL() {
-		int j = getIndexOfSelectedCP();
-
-		if( !sdInstancesSL.get(0).equals( EMPTY_INSTANCES_LIST ) )	{
-			if( sdStorageInstances.get(j).contains( sdInstancesSL.get(0) ) ) {
-				mappableArchUnitsSL = makeListOfMappableArchUnits( STORAGE );
-			}
-			else {
-				if( sdTransferInstances.get(j).contains( sdInstancesSL.get(0) ) ) {
-					mappableArchUnitsSL = makeListOfMappableArchUnits( TRANSFER );
-				}
-				else {
-					if( sdControllerInstances.get(j).contains( sdInstancesSL.get(0) ) ) {
-						mappableArchUnitsSL = makeListOfMappableArchUnits( CONTROLLER );
-					}
-				}
-			}
-		}
-		
-		if( mappableArchUnitsSL.size() == 0 ) {
-			mappableArchUnitsSL.add( EMPTY_MAPPABLE_ARCH_UNITS_LIST );
-		}
-	}
-
-	private void checkValidityOfMappingInformation() {
-		
-		java.util.List<String> mappingStringSplitted;	//Will contain: info[0] = CPName, info[1] = instanceName, info[2] = archUnitName
-		boolean removedCP = false;
-		boolean removedInstance = false;
-
-		Iterator<String> it	= mappedUnitsSL.iterator();
-		
-		while( it.hasNext() )	{
-			mappingStringSplitted = splitMappingString( it.next() );
-			String CPname = mappingStringSplitted.get(0);
-			String instanceName = mappingStringSplitted.get(1);
-			
-			//first check that the mapped CP is still part of the current design
-			if( !doesCPexist( CPname ) ) {
-				it.remove();
-				removedCP = true;
-			}
-			else {	//the CP exists, then check the single instances: if the instance exists, remove it from listInstancesHash and add it to the list of mapped instances
-				if( !checkAndRemoveIfInstanceExists( CPname, instanceName ) ) {	
-					it.remove();
-					removedInstance = true;
-				}
-			}
-
-			//then check if the mapped units have not been changed
-			if ( !removedCP && !removedInstance ) {
-				for( int i = 2; i < mappingStringSplitted.size(); i++ )	{
-					TraceManager.addDev( "Testing Architecture Units for String: " + mappingStringSplitted.toString() );
-					if( !doesArchUnitExist( mappingStringSplitted.get(i) ) )	{
-						TraceManager.addDev( mappingStringSplitted.get(i) + " does not exist and will be removed" );
-						it.remove();
-						restoreInstanceName( CPname, instanceName );	//release the mapped instance in listInstancesHash
-					}
-				}
-			}
-			
-			removedCP = false;
-			removedInstance = false;
-		}
-	}
-
-	private java.util.List<String> splitMappingString( String s )	{
-
-		java.util.List<String> info = new ArrayList<String>();
-		String[] firstPart = s.split( " : " );
-		String[] secondPart = firstPart[0].split("\\.");
-		String[] otherUnits = firstPart[1].split("\\, ");
-		
-		if( otherUnits.length > 1 )	{	//a transfer instance mapped on more than one arch unit
-			info.add( secondPart[0] );
-			info.add( secondPart[1] );
-			
-			for( String st: otherUnits )	{
-				info.add( st ); //{ CPName, instanceName, archUnitNameS };
-			}
-			
+        c5.gridwidth = 1;
+        pnlCodeGen.add(new JLabel("Type of DMA Transfer n.2:"), c5);
+        transferTypeCB2 = new JComboBox<String>(new Vector<String>(Arrays.asList(CPMEC.TRANSFER_TYPES)));
+
+        if (transferType2 == -1) {
+            transferTypeCB2.setSelectedIndex(0);
+        } else {
+            transferTypeCB2.setSelectedIndex(transferType2);
+        }
+
+        transferTypeCB2.addActionListener(new ActionListener() {
+
+            @Override
+            public void actionPerformed(ActionEvent e) {
+                manageMapButton();
+            }
+        });
+        //transferTypeCB2.setMinimumSize( new Dimension(150, 50) );
+        c5.gridwidth = GridBagConstraints.REMAINDER;
+        pnlCodeGen.add(transferTypeCB2, c5);
+        enableDisableTransferTypeCBs();
+
+        // main panel;
+        final GridBagConstraints c0 = new GridBagConstraints();
+        c0.gridwidth = 1;    //num columns
+        c0.gridheight = 1;    //num rows
+        c0.weighty = 1.0;
+        c0.weightx = 1.0;
+        c0.fill = GridBagConstraints.BOTH;
+        pnlRootContainerInstances.add(pnlComPatternStruct, c0);
+        pnlRootContainerInstances.add(pnmManageStruct, c0);
+
+        tabbedPane.addTab("Instances", pnlRootContainerInstances);
+
+        pnlRootContainerAttributes = new JPanel();
+        pnlRootContainerAttributes.setLayout(new GridBagLayout());
+        pnlRootContainerAttributes.setPreferredSize(new Dimension(700, 1000));
+        pnlRootContainerAttributes.add(pnlAttributeValues, c0);
+        c0.gridwidth = GridBagConstraints.REMAINDER; //end row
+        pnlRootContainerAttributes.add(pnlManageAttributes, c0);
+
+        tabbedPane.addTab("Attributes", pnlRootContainerAttributes);
+        tabbedPane.addTab("Code Generation", pnlCodeGen);
+        tabbedPane.setSelectedIndex(0);
+        contentPane.add(tabbedPane, c0);
+
+
+        c0.gridwidth = 1;
+        c0.fill = GridBagConstraints.HORIZONTAL;
+        c0.weighty = 0.0;
+        c0.insets = new Insets(10, defaultMargin, 10, defaultMargin);
+        closeButton = new JButton("Save and Close", IconManager.imgic25);
+        //closeButton.setPreferredSize(new Dimension(200, 50));
+        closeButton.addActionListener(new ActionListener() {
+
+            @Override
+            public void actionPerformed(ActionEvent e) {
+                closeDialog();
+            }
+        });
+
+        contentPane.add(closeButton, c0);
+        c0.gridwidth = GridBagConstraints.REMAINDER; //end row
+        cancelButton = new JButton("Cancel", IconManager.imgic27);
+        //cancelButton.setPreferredSize(new Dimension(200, 50));
+        cancelButton.addActionListener(new ActionListener() {
+
+            @Override
+            public void actionPerformed(ActionEvent e) {
+                cancelDialog();
+            }
+        });
+
+        contentPane.add(cancelButton, c0);
+
+        manageManagingStructureButtons();
+        manageMapButton();
+        manageRemoveAttributeButton();
+    }
+
+    private void makeListOfMappableArchUnitsSL() {
+        int j = getIndexOfSelectedCP();
+
+        if (!sdInstancesSL.get(0).equals(EMPTY_INSTANCES_LIST)) {
+            if (sdStorageInstances.get(j).contains(sdInstancesSL.get(0))) {
+                mappableArchUnitsSL = makeListOfMappableArchUnits(STORAGE);
+            } else {
+                if (sdTransferInstances.get(j).contains(sdInstancesSL.get(0))) {
+                    mappableArchUnitsSL = makeListOfMappableArchUnits(TRANSFER);
+                } else {
+                    if (sdControllerInstances.get(j).contains(sdInstancesSL.get(0))) {
+                        mappableArchUnitsSL = makeListOfMappableArchUnits(CONTROLLER);
+                    }
+                }
+            }
+        }
+
+        if (mappableArchUnitsSL.size() == 0) {
+            mappableArchUnitsSL.add(EMPTY_MAPPABLE_ARCH_UNITS_LIST);
+        }
+    }
+
+    private void checkValidityOfMappingInformation() {
+
+        java.util.List<String> mappingStringSplitted;    //Will contain: info[0] = CPName, info[1] = instanceName, info[2] = archUnitName
+        boolean removedCP = false;
+        boolean removedInstance = false;
+
+        Iterator<String> it = mappedUnitsSL.iterator();
+
+        while (it.hasNext()) {
+            mappingStringSplitted = splitMappingString(it.next());
+            String CPname = mappingStringSplitted.get(0);
+            String instanceName = mappingStringSplitted.get(1);
+
+            //first check that the mapped CP is still part of the current design
+            if (!doesCPexist(CPname)) {
+                it.remove();
+                removedCP = true;
+            } else {    //the CP exists, then check the single instances: if the instance exists, remove it from listInstancesHash and add it to the list of mapped instances
+                if (!checkAndRemoveIfInstanceExists(CPname, instanceName)) {
+                    it.remove();
+                    removedInstance = true;
+                }
+            }
+
+            //then check if the mapped units have not been changed
+            if (!removedCP && !removedInstance) {
+                for (int i = 2; i < mappingStringSplitted.size(); i++) {
+                    TraceManager.addDev("Testing Architecture Units for String: " + mappingStringSplitted.toString());
+                    if (!doesArchUnitExist(mappingStringSplitted.get(i))) {
+                        TraceManager.addDev(mappingStringSplitted.get(i) + " does not exist and will be removed");
+                        it.remove();
+                        restoreInstanceName(CPname, instanceName);    //release the mapped instance in listInstancesHash
+                    }
+                }
+            }
+
+            removedCP = false;
+            removedInstance = false;
+        }
+    }
+
+    private java.util.List<String> splitMappingString(String s) {
+
+        java.util.List<String> info = new ArrayList<String>();
+        String[] firstPart = s.split(" : ");
+        String[] secondPart = firstPart[0].split("\\.");
+        String[] otherUnits = firstPart[1].split("\\, ");
+
+        if (otherUnits.length > 1) {    //a transfer instance mapped on more than one arch unit
+            info.add(secondPart[0]);
+            info.add(secondPart[1]);
+
+            for (String st : otherUnits) {
+                info.add(st); //{ CPName, instanceName, archUnitNameS };
+            }
+
 //			return info;
-		}
-		else	{
-			info.add( secondPart[0] );
-			info.add( secondPart[1] );
-			info.add( firstPart[1] ); //{ CPName, instanceName, archUnitName };
-		}
-		
-		return info;
-	}
-
-	private void restoreInstanceName( String CPName, String instanceName )	{
-		for( int i = 0; i < listCPs.size(); i++ )	{
-			if( listCPs.get(i).getName().equals( CPName ) )	{
-				Set<String> tempHash = listInstancesHash.get(i);
-				tempHash.add( instanceName );
-				listInstancesHash.set( i, tempHash );
-				freezeSDInstancesCB();
-				makeSDInstancesComboBox( new Vector<String>( tempHash ) );
-				unfreezeSDInstancesCB();
-				return;
-			}
-		}
-	}
-	
-	private boolean doesCPexist( String CPName )	{
-		
-		for( String s: communicationPatternsSL )	{
-			if( s.equals( CPName ) )	{
-				//TraceManager.addDev( "CPName: " + CPName + " exists" );
-				return true;
-			}
-		}
-		return false;
-	}
-	
-	private boolean checkAndRemoveIfInstanceExists( String CPname, String instanceName )	{
-		for( int i = 0; i < listCPs.size(); i++ )	{
-			if( listCPs.get(i).getName().equals( CPname ) )	{
-				Set<String> tempHash = listInstancesHash.get(i);
-				
-				if( tempHash.contains( instanceName ) )	{
-					tempHash.remove( instanceName );
-					listInstancesHash.set( i, tempHash );
-					freezeSDInstancesCB();
-					
-					if( tempHash.size() == 0 ) {
-						tempHash.add( EMPTY_INSTANCES_LIST );
-					}
-					
-					makeSDInstancesComboBox( new Vector<String>( tempHash ) );
-					unfreezeSDInstancesCB();
-					Set<String> oldListOfMappedInstances = listOfMappedInstances.get(i);
-					oldListOfMappedInstances.remove( "VOID" );
-					oldListOfMappedInstances.add( instanceName );
-					listOfMappedInstances.set( i, oldListOfMappedInstances );
-					
-					return true;
-				}
-			}
-		}
-		
-		return false;
-	}
-	
-	private boolean doesArchUnitExist( String archUnitName )	{
-
-		if( makeListOfMappableArchUnits( STORAGE ).contains( archUnitName ) )	{
-			//TraceManager.addDev( "ArchUnit: " + archUnitName + " exists" );
-			return true;
-		}
-		if( makeListOfMappableArchUnits( CONTROLLER ).contains( archUnitName ) )	{
-			//TraceManager.addDev( "ArchUnit: " + archUnitName + " exists" );
-			return true;
-		}
+        } else {
+            info.add(secondPart[0]);
+            info.add(secondPart[1]);
+            info.add(firstPart[1]); //{ CPName, instanceName, archUnitName };
+        }
+
+        return info;
+    }
+
+    private void restoreInstanceName(String CPName, String instanceName) {
+        for (int i = 0; i < listCPs.size(); i++) {
+            if (listCPs.get(i).getName().equals(CPName)) {
+                Set<String> tempHash = listInstancesHash.get(i);
+                tempHash.add(instanceName);
+                listInstancesHash.set(i, tempHash);
+                freezeSDInstancesCB();
+                makeSDInstancesComboBox(new Vector<String>(tempHash));
+                unfreezeSDInstancesCB();
+                return;
+            }
+        }
+    }
+
+    private boolean doesCPexist(String CPName) {
+
+        for (String s : communicationPatternsSL) {
+            if (s.equals(CPName)) {
+                //TraceManager.addDev( "CPName: " + CPName + " exists" );
+                return true;
+            }
+        }
+        return false;
+    }
+
+    private boolean checkAndRemoveIfInstanceExists(String CPname, String instanceName) {
+        for (int i = 0; i < listCPs.size(); i++) {
+            if (listCPs.get(i).getName().equals(CPname)) {
+                Set<String> tempHash = listInstancesHash.get(i);
+
+                if (tempHash.contains(instanceName)) {
+                    tempHash.remove(instanceName);
+                    listInstancesHash.set(i, tempHash);
+                    freezeSDInstancesCB();
+
+                    if (tempHash.size() == 0) {
+                        tempHash.add(EMPTY_INSTANCES_LIST);
+                    }
+
+                    makeSDInstancesComboBox(new Vector<String>(tempHash));
+                    unfreezeSDInstancesCB();
+                    Set<String> oldListOfMappedInstances = listOfMappedInstances.get(i);
+                    oldListOfMappedInstances.remove("VOID");
+                    oldListOfMappedInstances.add(instanceName);
+                    listOfMappedInstances.set(i, oldListOfMappedInstances);
+
+                    return true;
+                }
+            }
+        }
+
+        return false;
+    }
+
+    private boolean doesArchUnitExist(String archUnitName) {
+
+        if (makeListOfMappableArchUnits(STORAGE).contains(archUnitName)) {
+            //TraceManager.addDev( "ArchUnit: " + archUnitName + " exists" );
+            return true;
+        }
+        if (makeListOfMappableArchUnits(CONTROLLER).contains(archUnitName)) {
+            //TraceManager.addDev( "ArchUnit: " + archUnitName + " exists" );
+            return true;
+        }
         return makeListOfMappableArchUnits(TRANSFER).contains(archUnitName);
     }
 //	
@@ -1061,755 +1056,731 @@ public class JDialogCommPatternMapping extends JDialog /* implements ActionListe
 //		}
 //	}	//End of method
 
-	private void enableDisableTransferTypeCBs()	{
-		if( cpMECsCB.getSelectedIndex() == 0 )	{	//selected memoryCopy
-			transferTypeCB1.setEnabled(false);
-			transferTypeCB2.setEnabled(false);
-			transferType1 = 0;
-			transferType2 = 0;
-		}
-		else if( cpMECsCB.getSelectedIndex() == 1 )	{	//selected SingleDma
-			transferTypeCB1.setEnabled(true);
-			transferType1 = 0;
-			transferTypeCB2.setEnabled(false);
-			transferType2 = 0;
-		}
-		else if( cpMECsCB.getSelectedIndex() == 2 )	{	//selected DoubleDma
-			transferTypeCB1.setEnabled(true);
-			transferType1 = 0;
-			transferTypeCB2.setEnabled(true);
-			transferType2 = 0;
-		}
-	}
-	
-	private void mapInstance() {
-		String instanceToMap = sdInstancesCB.getSelectedItem().toString();
-
-		int j = getIndexOfSelectedCP();
-		
-		if( listInstancesHash.get( communicationPatternsCB.getSelectedIndex() ).size() > 0 ) {
-			int[] indices = mappableArchUnitsJL.getSelectedIndices();
-		
-			if( indices.length > 1 ) {	//selecting more than one unit/instance
-				if( sdTransferInstances.get(j).contains( instanceToMap ) )	{
-					StringBuffer sb = new StringBuffer( communicationPatternsCB.getSelectedItem().toString() + "." +
-																							instanceToMap + " : " );
-					for( int i = 0; i < indices.length; i++ )	{
-						sb.append( mappableArchUnitsSL.get( indices[i]	) + ", ") ;
-					}
-			
-					mappedUnitsSL.add( sb.toString().substring( 0, sb.length() - 2 ) );
-				}
-				else {	//only transfer instances can be mapped on more than one architecture unit 
-					JOptionPane.showMessageDialog( frame, "More than one architecture unit selected for mapping",
-																				"Error", JOptionPane.INFORMATION_MESSAGE );
-					return;
-				}
-			}
-			else {	//selecting only one unit/instance
-				mappedUnitsSL.add( communicationPatternsCB.getSelectedItem().toString() + "." + instanceToMap +
-												" : " + mappableArchUnitsSL.get( mappableArchUnitsJL.getSelectedIndex() ) );
-			}
-			
-			// add the mapped instance to the list of mapped instances
-			Set<String> oldListOfMappedInstances;
-			oldListOfMappedInstances = listOfMappedInstances.get(j);
-			oldListOfMappedInstances.remove( "VOID" );
-			oldListOfMappedInstances.add( instanceToMap );
-			listOfMappedInstances.set( j, oldListOfMappedInstances );
-
-			//remove the mapped instance from the list of available instances
-			Set<String> SDinstancesHash = listInstancesHash.get( j );
-			Iterator<String> i = SDinstancesHash.iterator();
-			
-			while( i.hasNext() )	{
-				String element = i.next();
-				//TraceManager.addDev( "Comparing " + element + " with " + sdInstancesCB.getSelectedItem().toString() );
-				if( element.equals( instanceToMap ) )	{
-					i.remove();
-					//TraceManager.addDev( "Removing instance: " + element );
-					break;
-				}
-			}
-
-			listMappedUnitsJL.setListData( mappedUnitsSL );
-			//removeButton.setEnabled( true );
-			if( SDinstancesHash.size() == 0 ) {	//if the last instance has just being mapped
-				//mapButton.setEnabled( false );
-				sdInstancesSL.removeAllElements();
-				sdInstancesSL.add( EMPTY_INSTANCES_LIST );
-				freezeAllComboBoxes();
-				makeSDInstancesComboBox( sdInstancesSL );
-				mappableArchUnitsSL.removeAllElements();
-				mappableArchUnitsSL.add( EMPTY_MAPPABLE_ARCH_UNITS_LIST );
-				makeArchitectureUnitsScrollPane( mappableArchUnitsSL );
-				unfreezeAllComboBoxes();
-				TraceManager.addDev( "The DS after removing instance: " + SDinstancesHash.toString() );
-				listInstancesHash.set( j, SDinstancesHash );
-				//TraceManager.addDev("Nex list done");
-			}
-			else {	//update the list with the removed element
-				sdInstancesSL = new Vector<String>( SDinstancesHash );
-				listInstancesHash.set( j, SDinstancesHash );
-				freezeSDInstancesCB();
-				makeSDInstancesComboBox( sdInstancesSL );
-				unfreezeSDInstancesCB();
-			}
-		}
-	}
-	
-	private void removeMappedInstance()	{
-
-		String /*archUnitName, */CPName, instanceName;
-		final int selIndex  = listMappedUnitsJL.getSelectedIndex();
-		
-		if ( selIndex >= 0 )	{
-			java.util.List<String> info = splitMappingString( mappedUnitsSL.get( selIndex ) );
-			mappedUnitsSL.removeElementAt( selIndex );
-			CPName = info.get(0);
-			instanceName = info.get(1);
-			int indexCP;
-			for( indexCP = 0; indexCP < listCPs.size(); indexCP++ )	{
-				if( listCPs.get(indexCP).getName().equals( CPName ) )	{
-					break;
-				}
-			}
-			
-			Set<String> oldListOfMappedInstances = listOfMappedInstances.get( indexCP );
-			oldListOfMappedInstances.remove( instanceName );
-			listOfMappedInstances.set( indexCP, oldListOfMappedInstances );
-			//TraceManager.addDev( "The DS of mapped instances: " + oldListOfMappedInstances.toString() );
-
-			Set<String> oldList = listInstancesHash.get( indexCP );	// it is the list of all instances for a given CP
-			//TraceManager.addDev( "Adding " + instanceName + " to oldList: " + oldList.toString() );
-			oldList.add( instanceName );
-			listInstancesHash.set( indexCP, oldList );
-			//TraceManager.addDev( "sdInstancesL: " + sdInstancesSL.toString() );
-			sdInstancesSL = new Vector<String>( oldList );
-			makeSDInstancesComboBox( sdInstancesSL );
-			listMappedUnitsJL.setListData( mappedUnitsSL );
-			
-			if ( mappedUnitsSL.isEmpty() )	{
-				removeButton.setEnabled( false );
-			}
-			
-			listMappedUnitsJL.setSelectedIndex( selIndex >= mappedUnitsSL.size() ? mappedUnitsSL.size() - 1 : selIndex );
-		}
-	}
-	
-	private void downMappedInstance() {
-		int index = listMappedUnitsJL.getSelectedIndex();
-
-		if( index < mappedUnitsSL.size() - 1 ) {
-			final int newIndex = index + 1;
-			Collections.swap( mappedUnitsSL, index, newIndex );
-			listMappedUnitsJL.setListData( mappedUnitsSL );
-			listMappedUnitsJL.setSelectedIndex( newIndex );
-		}
-	}
-	
-	private void upMappedInstance()	{
-		int index = listMappedUnitsJL.getSelectedIndex();
-
-		if( index > 0 )	{
-			final int newIndex = index - 1;
-			Collections.swap( mappedUnitsSL, index, newIndex );
-			listMappedUnitsJL.setListData( mappedUnitsSL );
-			listMappedUnitsJL.setSelectedIndex( newIndex );
-		}
-	}
-	
-	private void updateSDInstancesList()  {
-		
-		if( listInstancesHash.get( communicationPatternsCB.getSelectedIndex() ).size() > 0 )  {
-			makeSDInstancesComboBox( new Vector<String>( listInstancesHash.get( communicationPatternsCB.getSelectedIndex() ) ) );
-		}
-		else  {
-			Vector<String> emptyList = new Vector<String>();
-			emptyList.add( EMPTY_INSTANCES_LIST );
-			makeSDInstancesComboBox( emptyList );
-		}
-	}
-	
-	// Updates mappableArchUnitsSL and the comboBox of the architecture units scroll pane
-	private void updateMappableArchUnits()	{
-		
-		String selectedInstance = "";
-		if( sdInstancesCB.getSelectedItem() != null )	{
-			selectedInstance = sdInstancesCB.getSelectedItem().toString();
-		}
-		else	{
-			selectedInstance = sdInstancesSL.get(0);
-		}
-		//TraceManager.addDev( "Selected instance: " + selectedInstance );
-
-		//get the CP index
-		int j = getIndexOfSelectedCP();
-
-		if( sdStorageInstances.get(j).contains( selectedInstance ) )	{
-			mappableArchUnitsSL = makeListOfMappableArchUnits( STORAGE );
-			//TraceManager.addDev( "Found a storage instance: " + mappableArchUnitsSL.toString() );
-		}
-		else	{
-			if( sdTransferInstances.get(j).contains( selectedInstance ) )	{
-				mappableArchUnitsSL = makeListOfMappableArchUnits( TRANSFER );
-				//TraceManager.addDev( "Found a transfer instance: " + mappableArchUnitsSL.toString() );
-			}
-			else	{
-				if( sdControllerInstances.get(j).contains( selectedInstance ) )	{
-					mappableArchUnitsSL = makeListOfMappableArchUnits( CONTROLLER );
-					//TraceManager.addDev( "Found a controller instance: " + mappableArchUnitsSL.toString() );
-				}
-				else	{	//is there is no instance to map
-					mappableArchUnitsSL = new Vector<String>();
-					mappableArchUnitsSL.add( EMPTY_MAPPABLE_ARCH_UNITS_LIST );
-					//TraceManager.addDev( "Found OTHER instance: " + mappableArchUnitsSL.toString() );
-				}
-			}
-		}
-		
-		makeArchitectureUnitsScrollPane( mappableArchUnitsSL );
-	}
-    
+    private void enableDisableTransferTypeCBs() {
+        if (cpMECsCB.getSelectedIndex() == 0) {    //selected memoryCopy
+            transferTypeCB1.setEnabled(false);
+            transferTypeCB2.setEnabled(false);
+            transferType1 = 0;
+            transferType2 = 0;
+        } else if (cpMECsCB.getSelectedIndex() == 1) {    //selected SingleDma
+            transferTypeCB1.setEnabled(true);
+            transferType1 = 0;
+            transferTypeCB2.setEnabled(false);
+            transferType2 = 0;
+        } else if (cpMECsCB.getSelectedIndex() == 2) {    //selected DoubleDma
+            transferTypeCB1.setEnabled(true);
+            transferType1 = 0;
+            transferTypeCB2.setEnabled(true);
+            transferType2 = 0;
+        }
+    }
+
+    private void mapInstance() {
+        String instanceToMap = sdInstancesCB.getSelectedItem().toString();
+
+        int j = getIndexOfSelectedCP();
+
+        if (listInstancesHash.get(communicationPatternsCB.getSelectedIndex()).size() > 0) {
+            int[] indices = mappableArchUnitsJL.getSelectedIndices();
+
+            if (indices.length > 1) {    //selecting more than one unit/instance
+                if (sdTransferInstances.get(j).contains(instanceToMap)) {
+                    StringBuffer sb = new StringBuffer(communicationPatternsCB.getSelectedItem().toString() + "." +
+                            instanceToMap + " : ");
+                    for (int i = 0; i < indices.length; i++) {
+                        sb.append(mappableArchUnitsSL.get(indices[i]) + ", ");
+                    }
+
+                    mappedUnitsSL.add(sb.toString().substring(0, sb.length() - 2));
+                } else {    //only transfer instances can be mapped on more than one architecture unit
+                    JOptionPane.showMessageDialog(frame, "More than one architecture unit selected for mapping",
+                            "Error", JOptionPane.INFORMATION_MESSAGE);
+                    return;
+                }
+            } else {    //selecting only one unit/instance
+                mappedUnitsSL.add(communicationPatternsCB.getSelectedItem().toString() + "." + instanceToMap +
+                        " : " + mappableArchUnitsSL.get(mappableArchUnitsJL.getSelectedIndex()));
+            }
+
+            // add the mapped instance to the list of mapped instances
+            Set<String> oldListOfMappedInstances;
+            oldListOfMappedInstances = listOfMappedInstances.get(j);
+            oldListOfMappedInstances.remove("VOID");
+            oldListOfMappedInstances.add(instanceToMap);
+            listOfMappedInstances.set(j, oldListOfMappedInstances);
+
+            //remove the mapped instance from the list of available instances
+            Set<String> SDinstancesHash = listInstancesHash.get(j);
+            Iterator<String> i = SDinstancesHash.iterator();
+
+            while (i.hasNext()) {
+                String element = i.next();
+                //TraceManager.addDev( "Comparing " + element + " with " + sdInstancesCB.getSelectedItem().toString() );
+                if (element.equals(instanceToMap)) {
+                    i.remove();
+                    //TraceManager.addDev( "Removing instance: " + element );
+                    break;
+                }
+            }
+
+            listMappedUnitsJL.setListData(mappedUnitsSL);
+            //removeButton.setEnabled( true );
+            if (SDinstancesHash.size() == 0) {    //if the last instance has just being mapped
+                //mapButton.setEnabled( false );
+                sdInstancesSL.removeAllElements();
+                sdInstancesSL.add(EMPTY_INSTANCES_LIST);
+                freezeAllComboBoxes();
+                makeSDInstancesComboBox(sdInstancesSL);
+                mappableArchUnitsSL.removeAllElements();
+                mappableArchUnitsSL.add(EMPTY_MAPPABLE_ARCH_UNITS_LIST);
+                makeArchitectureUnitsScrollPane(mappableArchUnitsSL);
+                unfreezeAllComboBoxes();
+                TraceManager.addDev("The DS after removing instance: " + SDinstancesHash.toString());
+                listInstancesHash.set(j, SDinstancesHash);
+                //TraceManager.addDev("Nex list done");
+            } else {    //update the list with the removed element
+                sdInstancesSL = new Vector<String>(SDinstancesHash);
+                listInstancesHash.set(j, SDinstancesHash);
+                freezeSDInstancesCB();
+                makeSDInstancesComboBox(sdInstancesSL);
+                unfreezeSDInstancesCB();
+            }
+        }
+    }
+
+    private void removeMappedInstance() {
+
+        String /*archUnitName, */CPName, instanceName;
+        final int selIndex = listMappedUnitsJL.getSelectedIndex();
+
+        if (selIndex >= 0) {
+            java.util.List<String> info = splitMappingString(mappedUnitsSL.get(selIndex));
+            mappedUnitsSL.removeElementAt(selIndex);
+            CPName = info.get(0);
+            instanceName = info.get(1);
+            int indexCP;
+            for (indexCP = 0; indexCP < listCPs.size(); indexCP++) {
+                if (listCPs.get(indexCP).getName().equals(CPName)) {
+                    break;
+                }
+            }
+
+            Set<String> oldListOfMappedInstances = listOfMappedInstances.get(indexCP);
+            oldListOfMappedInstances.remove(instanceName);
+            listOfMappedInstances.set(indexCP, oldListOfMappedInstances);
+            //TraceManager.addDev( "The DS of mapped instances: " + oldListOfMappedInstances.toString() );
+
+            Set<String> oldList = listInstancesHash.get(indexCP);    // it is the list of all instances for a given CP
+            //TraceManager.addDev( "Adding " + instanceName + " to oldList: " + oldList.toString() );
+            oldList.add(instanceName);
+            listInstancesHash.set(indexCP, oldList);
+            //TraceManager.addDev( "sdInstancesL: " + sdInstancesSL.toString() );
+            sdInstancesSL = new Vector<String>(oldList);
+            makeSDInstancesComboBox(sdInstancesSL);
+            listMappedUnitsJL.setListData(mappedUnitsSL);
+
+            if (mappedUnitsSL.isEmpty()) {
+                removeButton.setEnabled(false);
+            }
+
+            listMappedUnitsJL.setSelectedIndex(selIndex >= mappedUnitsSL.size() ? mappedUnitsSL.size() - 1 : selIndex);
+        }
+    }
+
+    private void downMappedInstance() {
+        int index = listMappedUnitsJL.getSelectedIndex();
+
+        if (index < mappedUnitsSL.size() - 1) {
+            final int newIndex = index + 1;
+            Collections.swap(mappedUnitsSL, index, newIndex);
+            listMappedUnitsJL.setListData(mappedUnitsSL);
+            listMappedUnitsJL.setSelectedIndex(newIndex);
+        }
+    }
+
+    private void upMappedInstance() {
+        int index = listMappedUnitsJL.getSelectedIndex();
+
+        if (index > 0) {
+            final int newIndex = index - 1;
+            Collections.swap(mappedUnitsSL, index, newIndex);
+            listMappedUnitsJL.setListData(mappedUnitsSL);
+            listMappedUnitsJL.setSelectedIndex(newIndex);
+        }
+    }
+
+    private void updateSDInstancesList() {
+
+        if (listInstancesHash.get(communicationPatternsCB.getSelectedIndex()).size() > 0) {
+            makeSDInstancesComboBox(new Vector<String>(listInstancesHash.get(communicationPatternsCB.getSelectedIndex())));
+        } else {
+            Vector<String> emptyList = new Vector<String>();
+            emptyList.add(EMPTY_INSTANCES_LIST);
+            makeSDInstancesComboBox(emptyList);
+        }
+    }
+
+    // Updates mappableArchUnitsSL and the comboBox of the architecture units scroll pane
+    private void updateMappableArchUnits() {
+
+        String selectedInstance = "";
+        if (sdInstancesCB.getSelectedItem() != null) {
+            selectedInstance = sdInstancesCB.getSelectedItem().toString();
+        } else {
+            selectedInstance = sdInstancesSL.get(0);
+        }
+        //TraceManager.addDev( "Selected instance: " + selectedInstance );
+
+        //get the CP index
+        int j = getIndexOfSelectedCP();
+
+        if (sdStorageInstances.get(j).contains(selectedInstance)) {
+            mappableArchUnitsSL = makeListOfMappableArchUnits(STORAGE);
+            //TraceManager.addDev( "Found a storage instance: " + mappableArchUnitsSL.toString() );
+        } else {
+            if (sdTransferInstances.get(j).contains(selectedInstance)) {
+                mappableArchUnitsSL = makeListOfMappableArchUnits(TRANSFER);
+                //TraceManager.addDev( "Found a transfer instance: " + mappableArchUnitsSL.toString() );
+            } else {
+                if (sdControllerInstances.get(j).contains(selectedInstance)) {
+                    mappableArchUnitsSL = makeListOfMappableArchUnits(CONTROLLER);
+                    //TraceManager.addDev( "Found a controller instance: " + mappableArchUnitsSL.toString() );
+                } else {    //is there is no instance to map
+                    mappableArchUnitsSL = new Vector<String>();
+                    mappableArchUnitsSL.add(EMPTY_MAPPABLE_ARCH_UNITS_LIST);
+                    //TraceManager.addDev( "Found OTHER instance: " + mappableArchUnitsSL.toString() );
+                }
+            }
+        }
+
+        makeArchitectureUnitsScrollPane(mappableArchUnitsSL);
+    }
+
     // Returns the index of the selected CP in the combo box, otherwise returns -1 
-	private int getIndexOfSelectedCP()	{
-
-		if( listCPs.size() > 0 )	{
-			for( int j = 0; j < listCPs.size(); j++ )	{
-				if( listCPs.get(j).getName().equals( communicationPatternsCB.getSelectedItem() ) )	{
-					return j;
-				}
-			}
-		}
-	return -1;
-	}
-	
-	private void freeMappedUnits()	{
-
-		//before eliminating the list of mapped units, put the instances back in the general data structure
-		for( int i = 0; i < mappedUnitsSL.size(); i++ )	{
-			java.util.List<String> info = splitMappingString( mappedUnitsSL.get(i) );
-			restoreInstanceName( info.get(0), info.get(1) );
-		}
-		mappedUnitsSL.clear();
-		listMappedUnitsJL.setListData( mappedUnitsSL );
-	}
-	
-	private void makeArchitectureUnitsScrollPane( Vector<String> newList )	{
-		
-		mappableArchUnitsSL = new Vector<String>( newList );
-		mappableArchUnitsJL.setListData( mappableArchUnitsSL );
-	}
-	
-	private void makeSDInstancesComboBox( Vector<String> newList ) {
-		
-		if( ( newList.size() > 1 ) && ( newList.contains( EMPTY_INSTANCES_LIST ) ) )	{
-			newList.removeElementAt( newList.indexOf( EMPTY_INSTANCES_LIST ) );
-		}
-		sdInstancesCB.removeAllItems();
-		for( String s: newList ) {
-			sdInstancesCB.addItem( s );
-		}
-		sdInstancesSL = new Vector<String>( newList );
-	}
-
-	private void assignValueToAttribute()	{
-
-		String attrValue = attributesValue_TF.getText();
-		if( attrValue.length() > 0 )	{
-			String natRegex = "[0-9]+";
-			String boolRegex = "true|TRUE|false|FALSE";
-			String attrType = ((String)attributesList_CB.getSelectedItem()).split(" ")[0];
-			if( attrType.equals( "int" ) )	{
-				if( !attrValue.matches( natRegex ) )	{
-					JOptionPane.showMessageDialog( frame, "Attribute must be of type Natural", "Badly formatted parameter",
-																			JOptionPane.INFORMATION_MESSAGE );
-					return;
-				}
-			}
-			if( attrType.equals( "bool" ) )	{
-				if( !attrValue.matches( boolRegex ) )	{
-					JOptionPane.showMessageDialog( frame, "Attribute is of type boolean", "Badly formatted parameter",
-																			JOptionPane.INFORMATION_MESSAGE );
-					return;
-				}
-			}
-
-			String attrName = ((String)attributesList_CB.getSelectedItem()).split(" ")[1];
-			int indexToDelete = attributesVector.indexOf( attrType + " " + attrName );
-			if( indexToDelete != -1 )	{
-				String assignement = attrType + " " + attrName + " = " + attrValue + ";";
-				assignedAttributes.add( assignement );
-
-				//update JComboBox
-				Vector<String> newList = new Vector<String>( attributesVector );
-				newList.remove( indexToDelete );
-				attributesList_CB.removeAllItems();
-				for( String s: newList )	{
-					attributesList_CB.addItem( s );
-				}
-				attributesVector = new Vector<String>( newList );
-
-				//clear text
-				attributesValue_TF.setText("");
-
-				//update scrollPaneAttributes
-				scrollPaneAttributes_JL.setListData( assignedAttributes );
-			}
-		}
-		else {
-			JOptionPane.showMessageDialog( 	frame,
-											"Please enter a value to the selected attribute", "No value for attribute",
-											JOptionPane.INFORMATION_MESSAGE );
-			
-			return;
-		}
-	}
-
-	private void assignValueToAddress()	{
-
-		String natRegex = "[0-9]+";
-		String addrValue = addressValue_TF.getText();
-		Vector<String> assignedAddresses = new Vector<String>();
-
-		if( addrValue.length() <= 2 && addrValue.length() > 0 )	{
-			JOptionPane.showMessageDialog( frame, "Please enter a valid base address", "Badly formatted parameter",
-																		JOptionPane.INFORMATION_MESSAGE );
-			return;
-		}
-		if( addrValue.length() > 2 )	{
-			if( !( addrValue.substring(0,2).equals("0x") || addrValue.substring(0,2).equals("0X") ) || !( addrValue.substring( 2,addrValue.length() ).matches( natRegex ) ) )	{
-				JOptionPane.showMessageDialog( frame, "Base address must be expressed in hexadecimal", "Badly formatted parameter",
-																			JOptionPane.INFORMATION_MESSAGE );
-				return;
-			}
-		}
-
-		String addrName = ((String)addressList_CB.getSelectedItem()).split(" ")[1];
-		int indexToDelete = addressVector.indexOf( "addr " + addrName );
-		if( indexToDelete != -1 )	{
-			String assignement = "addr " + addrName + " = " + addrValue + ";";
-			assignedAddresses.add( assignement );
-
-			//update JComboBox
-			Vector<String> newList = new Vector<String>( addressVector );
-			newList.remove( indexToDelete );
-			addressList_CB.removeAllItems();
-			for( String s: newList )	{
-				addressList_CB.addItem( s );
-			}
-			addressVector = new Vector<String>( newList );
-
-			//clear text
-			addressValue_TF.setText("");
-
-			//update scrollPaneAttributes
-			assignedAttributes.addAll( assignedAddresses );
-			scrollPaneAttributes_JL.setListData( assignedAttributes );
-		}
-		else	{
-			JOptionPane.showMessageDialog( frame, "Please enter a value for the selected address", "No value for address",
-																		JOptionPane.INFORMATION_MESSAGE );
-			return;
-		}
-	}
-
-	private void removeAssignedAttribute( int indexToRemove, String attr )	{
-		
-		if( assignedAttributes.size() > 0 )	{
-			assignedAttributes.remove( indexToRemove );
-			scrollPaneAttributes_JL.setListData( assignedAttributes );
-
-			// attribute must be put back in list of attributes to be mapped...
-			String s = attr.split( " = " )[0];
-			Vector<String> newList = new Vector<String>( attributesVector );
-			newList.add( s );
-
-			attributesList_CB.removeAllItems();
-			for( String st: newList )	{
-				attributesList_CB.addItem( st );
-			}
-			attributesVector = new Vector<String>( newList );
-		}
-	}
-
-	private void removeAssignedAddress( int indexToRemove, String attr )	{
-		
-		if( assignedAttributes.size() > 0 )	{
-			//first remove the address from the list of attributes
-			assignedAttributes.remove( indexToRemove );
-			scrollPaneAttributes_JL.setListData( assignedAttributes );
-
-			// address must be put back in list of addresses to be mapped
-			String s = attr.split( " = " )[0];
-			Vector<String> newList = new Vector<String>( addressVector );
-			newList.add( s );
-
-			addressList_CB.removeAllItems();
-			for( String st: newList )	{
-				addressList_CB.addItem( st );
-			}
-			addressVector = new Vector<String>( newList );
-		}
-	}
-	
-	public void closeDialog() {
-		//regularClose = true;
-		cancelled = false;
-		name = nameOfCP.getText();
-		cpMEC = (String)cpMECsCB.getSelectedItem();
-		if( cpMEC.equals( "VOID" ) || cpMEC.equals( "" ) )	{
+    private int getIndexOfSelectedCP() {
+
+        if (listCPs.size() > 0) {
+            for (int j = 0; j < listCPs.size(); j++) {
+                if (listCPs.get(j).getName().equals(communicationPatternsCB.getSelectedItem())) {
+                    return j;
+                }
+            }
+        }
+        return -1;
+    }
+
+    private void freeMappedUnits() {
+
+        //before eliminating the list of mapped units, put the instances back in the general data structure
+        for (int i = 0; i < mappedUnitsSL.size(); i++) {
+            java.util.List<String> info = splitMappingString(mappedUnitsSL.get(i));
+            restoreInstanceName(info.get(0), info.get(1));
+        }
+        mappedUnitsSL.clear();
+        listMappedUnitsJL.setListData(mappedUnitsSL);
+    }
+
+    private void makeArchitectureUnitsScrollPane(Vector<String> newList) {
+
+        mappableArchUnitsSL = new Vector<String>(newList);
+        mappableArchUnitsJL.setListData(mappableArchUnitsSL);
+    }
+
+    private void makeSDInstancesComboBox(Vector<String> newList) {
+
+        if ((newList.size() > 1) && (newList.contains(EMPTY_INSTANCES_LIST))) {
+            newList.removeElementAt(newList.indexOf(EMPTY_INSTANCES_LIST));
+        }
+        sdInstancesCB.removeAllItems();
+        for (String s : newList) {
+            sdInstancesCB.addItem(s);
+        }
+        sdInstancesSL = new Vector<String>(newList);
+    }
+
+    private void assignValueToAttribute() {
+
+        String attrValue = attributesValue_TF.getText();
+        if (attrValue.length() > 0) {
+            String natRegex = "[0-9]+";
+            String boolRegex = "true|TRUE|false|FALSE";
+            String attrType = ((String) attributesList_CB.getSelectedItem()).split(" ")[0];
+            if (attrType.equals("int")) {
+                if (!attrValue.matches(natRegex)) {
+                    JOptionPane.showMessageDialog(frame, "Attribute must be of type Natural", "Badly formatted parameter",
+                            JOptionPane.INFORMATION_MESSAGE);
+                    return;
+                }
+            }
+            if (attrType.equals("bool")) {
+                if (!attrValue.matches(boolRegex)) {
+                    JOptionPane.showMessageDialog(frame, "Attribute is of type boolean", "Badly formatted parameter",
+                            JOptionPane.INFORMATION_MESSAGE);
+                    return;
+                }
+            }
+
+            String attrName = ((String) attributesList_CB.getSelectedItem()).split(" ")[1];
+            int indexToDelete = attributesVector.indexOf(attrType + " " + attrName);
+            if (indexToDelete != -1) {
+                String assignement = attrType + " " + attrName + " = " + attrValue + ";";
+                assignedAttributes.add(assignement);
+
+                //update JComboBox
+                Vector<String> newList = new Vector<String>(attributesVector);
+                newList.remove(indexToDelete);
+                attributesList_CB.removeAllItems();
+                for (String s : newList) {
+                    attributesList_CB.addItem(s);
+                }
+                attributesVector = new Vector<String>(newList);
+
+                //clear text
+                attributesValue_TF.setText("");
+
+                //update scrollPaneAttributes
+                scrollPaneAttributes_JL.setListData(assignedAttributes);
+            }
+        } else {
+            JOptionPane.showMessageDialog(frame,
+                    "Please enter a value to the selected attribute", "No value for attribute",
+                    JOptionPane.INFORMATION_MESSAGE);
+
+            return;
+        }
+    }
+
+    private void assignValueToAddress() {
+
+        String natRegex = "[0-9]+";
+        String addrValue = addressValue_TF.getText();
+        Vector<String> assignedAddresses = new Vector<String>();
+
+        if (addrValue.length() <= 2 && addrValue.length() > 0) {
+            JOptionPane.showMessageDialog(frame, "Please enter a valid base address", "Badly formatted parameter",
+                    JOptionPane.INFORMATION_MESSAGE);
+            return;
+        }
+        if (addrValue.length() > 2) {
+            if (!(addrValue.substring(0, 2).equals("0x") || addrValue.substring(0, 2).equals("0X")) || !(addrValue.substring(2, addrValue.length()).matches(natRegex))) {
+                JOptionPane.showMessageDialog(frame, "Base address must be expressed in hexadecimal", "Badly formatted parameter",
+                        JOptionPane.INFORMATION_MESSAGE);
+                return;
+            }
+        }
+
+        String addrName = ((String) addressList_CB.getSelectedItem()).split(" ")[1];
+        int indexToDelete = addressVector.indexOf("addr " + addrName);
+        if (indexToDelete != -1) {
+            String assignement = "addr " + addrName + " = " + addrValue + ";";
+            assignedAddresses.add(assignement);
+
+            //update JComboBox
+            Vector<String> newList = new Vector<String>(addressVector);
+            newList.remove(indexToDelete);
+            addressList_CB.removeAllItems();
+            for (String s : newList) {
+                addressList_CB.addItem(s);
+            }
+            addressVector = new Vector<String>(newList);
+
+            //clear text
+            addressValue_TF.setText("");
+
+            //update scrollPaneAttributes
+            assignedAttributes.addAll(assignedAddresses);
+            scrollPaneAttributes_JL.setListData(assignedAttributes);
+        } else {
+            JOptionPane.showMessageDialog(frame, "Please enter a value for the selected address", "No value for address",
+                    JOptionPane.INFORMATION_MESSAGE);
+            return;
+        }
+    }
+
+    private void removeAssignedAttribute(int indexToRemove, String attr) {
+
+        if (assignedAttributes.size() > 0) {
+            assignedAttributes.remove(indexToRemove);
+            scrollPaneAttributes_JL.setListData(assignedAttributes);
+
+            // attribute must be put back in list of attributes to be mapped...
+            String s = attr.split(" = ")[0];
+            Vector<String> newList = new Vector<String>(attributesVector);
+            newList.add(s);
+
+            attributesList_CB.removeAllItems();
+            for (String st : newList) {
+                attributesList_CB.addItem(st);
+            }
+            attributesVector = new Vector<String>(newList);
+        }
+    }
+
+    private void removeAssignedAddress(int indexToRemove, String attr) {
+
+        if (assignedAttributes.size() > 0) {
+            //first remove the address from the list of attributes
+            assignedAttributes.remove(indexToRemove);
+            scrollPaneAttributes_JL.setListData(assignedAttributes);
+
+            // address must be put back in list of addresses to be mapped
+            String s = attr.split(" = ")[0];
+            Vector<String> newList = new Vector<String>(addressVector);
+            newList.add(s);
+
+            addressList_CB.removeAllItems();
+            for (String st : newList) {
+                addressList_CB.addItem(st);
+            }
+            addressVector = new Vector<String>(newList);
+        }
+    }
+
+    public void closeDialog() {
+        //regularClose = true;
+        cancelled = false;
+        name = nameOfCP.getText();
+        cpMEC = (String) cpMECsCB.getSelectedItem();
+        if (cpMEC.equals("VOID") || cpMEC.equals("")) {
             cpMEC = CPMEC.MEMORY_COPY;
         }
-		transferType1 = Arrays.asList( CPMEC.TRANSFER_TYPES ).indexOf(transferTypeCB1.getSelectedItem());
-		transferType2 = Arrays.asList( CPMEC.TRANSFER_TYPES ).indexOf(transferTypeCB2.getSelectedItem());
-		
-		dispose();
-	}
-	
-	public void cancelDialog() {
-		dispose();
-	}
-	
-	public boolean hasBeenCancelled() {
-		return cancelled;
-	}
-	
-	private void manageMapButton() {	//this methos is abstract and must be implemented
-		
-		//Enable or disable the mapping button. Do not use &&, || as they are short-circuit operators
-		if( listCPs.size() > 0 )	{
-			if( sdInstancesSL.size() > 0 )	{
-				if( !sdInstancesSL.get(0).equals( EMPTY_INSTANCES_LIST ) ) {
-					if( mappableArchUnitsSL.size() > 0 ) {
-						if ( !mappableArchUnitsJL.isSelectionEmpty() && !mappableArchUnitsSL.get(0).equals( EMPTY_MAPPABLE_ARCH_UNITS_LIST ) ) {
-							mapButton.setEnabled( true );
-						}
-						else {
-							mapButton.setEnabled( false );
-						}
-					}
-					else	{
-						mapButton.setEnabled( false );
-					}
-				}
-				else	{
-					mapButton.setEnabled( false );
-				}
-			}
-			else	{
-				mapButton.setEnabled( false );
-			}
-		}
-		else	{
-			mapButton.setEnabled( false );
-		}
-	}
-	
-	private void manageRemoveAttributeButton() {
-		removeAttributeButton.setEnabled( !scrollPaneAttributes_JL.isSelectionEmpty() );
-	}
-
-	private void manageManagingStructureButtons() {
-		int selIndex = listMappedUnitsJL.getSelectedIndex() ;
-		
-		if ( selIndex == -1 ) {
-			removeButton.setEnabled( false );
-			upButton.setEnabled( false );
-			downButton.setEnabled( false );
-		}
-		else {
-			removeButton.setEnabled( true );
-			
-			if ( selIndex == 0 ) {	//the first element
-				upButton.setEnabled( false );
-				downButton.setEnabled( mappedUnitsSL.size() > 1 );
-			}
-			else if ( selIndex == mappedUnitsSL.size() - 1 ) {	//the last element
-				upButton.setEnabled( true );
-				downButton.setEnabled( false );
-			}
-			else {	//the remaining cases
-				upButton.setEnabled( true );
-				downButton.setEnabled( true );
-			}
-		}
-	}
-	
-	public String getNodeName() {
-		return name;
-	}
-	
-	public String getCPReference() {
-		if( emptyCPsList ) {
-			return "";
-		}
-		return (String)( communicationPatternsCB.getSelectedItem() );
-	}
+        transferType1 = Arrays.asList(CPMEC.TRANSFER_TYPES).indexOf(transferTypeCB1.getSelectedItem());
+        transferType2 = Arrays.asList(CPMEC.TRANSFER_TYPES).indexOf(transferTypeCB2.getSelectedItem());
+
+        dispose();
+    }
+
+    public void cancelDialog() {
+        dispose();
+    }
+
+    public boolean hasBeenCancelled() {
+        return cancelled;
+    }
+
+    private void manageMapButton() {    //this methos is abstract and must be implemented
+
+        //Enable or disable the mapping button. Do not use &&, || as they are short-circuit operators
+        if (listCPs.size() > 0) {
+            if (sdInstancesSL.size() > 0) {
+                if (!sdInstancesSL.get(0).equals(EMPTY_INSTANCES_LIST)) {
+                    if (mappableArchUnitsSL.size() > 0) {
+                        if (!mappableArchUnitsJL.isSelectionEmpty() && !mappableArchUnitsSL.get(0).equals(EMPTY_MAPPABLE_ARCH_UNITS_LIST)) {
+                            mapButton.setEnabled(true);
+                        } else {
+                            mapButton.setEnabled(false);
+                        }
+                    } else {
+                        mapButton.setEnabled(false);
+                    }
+                } else {
+                    mapButton.setEnabled(false);
+                }
+            } else {
+                mapButton.setEnabled(false);
+            }
+        } else {
+            mapButton.setEnabled(false);
+        }
+    }
+
+    private void manageRemoveAttributeButton() {
+        removeAttributeButton.setEnabled(!scrollPaneAttributes_JL.isSelectionEmpty());
+    }
+
+    private void manageManagingStructureButtons() {
+        int selIndex = listMappedUnitsJL.getSelectedIndex();
+
+        if (selIndex == -1) {
+            removeButton.setEnabled(false);
+            upButton.setEnabled(false);
+            downButton.setEnabled(false);
+        } else {
+            removeButton.setEnabled(true);
+
+            if (selIndex == 0) {    //the first element
+                upButton.setEnabled(false);
+                downButton.setEnabled(mappedUnitsSL.size() > 1);
+            } else if (selIndex == mappedUnitsSL.size() - 1) {    //the last element
+                upButton.setEnabled(true);
+                downButton.setEnabled(false);
+            } else {    //the remaining cases
+                upButton.setEnabled(true);
+                downButton.setEnabled(true);
+            }
+        }
+    }
+
+    public String getNodeName() {
+        return name;
+    }
+
+    public String getCPReference() {
+        if (emptyCPsList) {
+            return "";
+        }
+        return (String) (communicationPatternsCB.getSelectedItem());
+    }
 //	
 //	public boolean isRegularClose() {
 //		return regularClose;
 //	}
-	
-	public Vector<String> getMappedUnits()	{
-		return mappedUnitsSL;
-	}
-	
-	public int indexOf( String name ) {
-		
-		int i = 0;
-		if( communicationPatternsSL.size() > 0 )	{
-			for( String s : communicationPatternsSL )	{
-				if( s.equals( name ) )	{
-					return i;
-				}
-				i++;
-			}
-		}
-		return 0;
-	}
-	
-	private Vector<String> createListCPsNames()	{
-
-		Vector<String> list = new Vector<String>();
-		listCPs = cp.getTDiagramPanel().getMGUI().getAllTMLCP();
-		if( listCPs.size() > 0 )	{
-			for( int i = 0; i < listCPs.size(); i++ )	{
-				list.add( listCPs.get(i).getName() );
-			}
-			emptyCPsList = false;
-		}
-		else	{
-			list.add( EMPTY_CPS_LIST );
-			emptyCPsList = true;
-		}
-		return list;
-	}
-
-	// Create the array lists of HashSet listInstancesHash, sdControllerInstances, sdStorageInstances and sdTransferInstances
-	private void createListsOfInstances()	{
-		
-		HashSet<String> sdInstancesNames = new HashSet<String>();
-		HashSet<String> sdControllerInstances_local = new HashSet<String>();
-		HashSet<String> sdStorageInstances_local = new HashSet<String>();
-		HashSet<String> sdTransferInstances_local = new HashSet<String>();
-		HashSet<String> mappedSDInstances_local = new HashSet<String>();	//just to initialize the data structure
-		
-		//j indexes the CP and k indexes the components within a TMLSDPanel
-		if( listCPs.size() > 0 )	{
-			for( int j = 0; j < listCPs.size(); j++ )	{
-				Vector<TDiagramPanel> panelList = listCPs.get(j).getPanels();	//the list of AD and SD panels for a given CP
-				for( TDiagramPanel panel: panelList )	{
-					//TraceManager.addDev( "Into createListInstances, panel name: " + panel.getName() );
-					if( panel instanceof TMLSDPanel )	{
-						//TraceManager.addDev( "Found TMLSDPanel named: " + panel.getName() );
-						java.util.List<TGComponent> componentsList = panel.getComponentList();
-						for( int k = 0; k < componentsList.size(); k++ )	{
-							TGComponent elem = componentsList.get(k);
-							if( elem instanceof ui.tmlsd.TMLSDInstance )	{
-								sdInstancesNames.add( elem.getName() );
-								if( elem instanceof TMLSDStorageInstance )	{
-									sdStorageInstances_local.add( elem.getName() );
-								}
-								if( elem instanceof TMLSDTransferInstance )	{
-									sdTransferInstances_local.add( elem.getName() );
-								}
-								if( elem instanceof TMLSDControllerInstance )	{
-									sdControllerInstances_local.add( elem.getName() );
-								}
-							}
-						}	/* end of for over k */
-					}
-				}	/* end of examining all diagrams for a CP */
-				for( String s: sdInstancesNames )	{
-					if( listCPs.get(j).getName().equals( communicationPatternsCB.getSelectedItem() ) )	{
-						TraceManager.addDev( "Found a TMLSDInstance named: " + s );
-						if( !isInstanceMapped( s ) )	{
-							sdInstancesSL.add( s );	//the string list displayed in the combo box
-							TraceManager.addDev( "Instance " + s + " is un-mapped. Adding to SL list" );
-						}
-					}	
-				}
-				listInstancesHash.add( j, sdInstancesNames );									//for each CP the list of instances
-				sdStorageInstances.add( j, sdStorageInstances_local );				//for each CP the list of storage instances
-				sdTransferInstances.add( j, sdTransferInstances_local );			//for each CP the list of controller instances
-				sdControllerInstances.add( j, sdControllerInstances_local );	//for each CP the list of transfer instances
-				mappedSDInstances_local.add( "VOID" );
-				listOfMappedInstances.add( j, mappedSDInstances_local );			//just to initialize the data structure
-				TraceManager.addDev( "CP name: " + listCPs.get(j).getName() );
-				TraceManager.addDev( "List of storage instances: " + sdStorageInstances.get(j).toString() );
-				TraceManager.addDev( "List of transfer instances: " + sdTransferInstances.get(j).toString() );
-				TraceManager.addDev( "List of controller instances: " + sdControllerInstances.get(j).toString() );
-				sdInstancesNames = new HashSet<String>();	//better than using clear method
-				sdStorageInstances_local = new HashSet<String>();
-				sdTransferInstances_local = new HashSet<String>();
-				sdControllerInstances_local = new HashSet<String>();
-				mappedSDInstances_local = new HashSet<String>();
-			}
-		}
-	}
-
-	private boolean isInstanceMapped( String instanceName )	{
-
-		java.util.List<String> info;
-		for( String st: mappedUnitsSL )	{
-			info = splitMappingString( st );
-			if( info.get(1).equals( instanceName ) )	{
-				TraceManager.addDev( "Instance " + info.get(1) + " is mapped" );
-				return true;
-			}
-		}
-		return false;
-	}
-	
-	private Vector<String> makeListOfMappableArchUnits( int instanceType )	{
-		
-		//0 = storage, 1 = transfer, 2 = controller
-		java.util.List<TGComponent> componentList = cp.getTDiagramPanel().getComponentList();
-		Vector<String> list = new Vector<String>();
-		
-		for( int k = 0; k < componentList.size(); k++ )	{
-			if( componentList.get(k) instanceof TMLArchiNode )	{
-				if( ( (TMLArchiNode) componentList.get(k) ).getComponentType() == instanceType )	{
-					list.add( componentList.get(k).getName() );
-				}
-			}
-		}
-		
-		return list;
-	}
-
-	private void freezeSDInstancesCB() {
-		sdInstancesCB.removeActionListener( sdInstancesCBActionListener );	
-	}
-
-	private void unfreezeSDInstancesCB() {
-		sdInstancesCB.addActionListener( sdInstancesCBActionListener );	
-	}
-
-	private void freezeAllComboBoxes() {
-		sdInstancesCB.removeActionListener( sdInstancesCBActionListener );	
-		communicationPatternsCB.removeActionListener( communicationPatternsCBActionListener );
-	}
-
-	private void unfreezeAllComboBoxes() {
-		sdInstancesCB.addActionListener( sdInstancesCBActionListener );	
-		communicationPatternsCB.addActionListener( communicationPatternsCBActionListener );
-	}
-
-	public String getCPMEC() {
-		return cpMEC;
-	}
-
-	private void filterOutAssignedAttributes( Vector<String> attributesVector )	{
-		
-	//	ArrayList<Integer> indexList = new ArrayList<Integer>();
-		for( String s: assignedAttributes )	{
-			String token = s.split( " = " )[0];
-			for( Iterator<String> iterator = attributesVector.iterator(); iterator.hasNext(); ) {
-				String s1 = iterator.next();
-				if( token.equals( s1 ) ) {
-					iterator.remove();
-				}
-			}
-		}
-	}
-
-	private void filterOutAssignedAddresses( Vector<String> addressVector )	{
-		
+
+    public Vector<String> getMappedUnits() {
+        return mappedUnitsSL;
+    }
+
+    public int indexOf(String name) {
+
+        int i = 0;
+        if (communicationPatternsSL.size() > 0) {
+            for (String s : communicationPatternsSL) {
+                if (s.equals(name)) {
+                    return i;
+                }
+                i++;
+            }
+        }
+        return 0;
+    }
+
+    private Vector<String> createListCPsNames() {
+
+        Vector<String> list = new Vector<String>();
+        listCPs = cp.getTDiagramPanel().getMGUI().getAllTMLCP();
+        if (listCPs.size() > 0) {
+            for (int i = 0; i < listCPs.size(); i++) {
+                list.add(listCPs.get(i).getName());
+            }
+            emptyCPsList = false;
+        } else {
+            list.add(EMPTY_CPS_LIST);
+            emptyCPsList = true;
+        }
+        return list;
+    }
+
+    // Create the array lists of HashSet listInstancesHash, sdControllerInstances, sdStorageInstances and sdTransferInstances
+    private void createListsOfInstances() {
+
+        HashSet<String> sdInstancesNames = new HashSet<String>();
+        HashSet<String> sdControllerInstances_local = new HashSet<String>();
+        HashSet<String> sdStorageInstances_local = new HashSet<String>();
+        HashSet<String> sdTransferInstances_local = new HashSet<String>();
+        HashSet<String> mappedSDInstances_local = new HashSet<String>();    //just to initialize the data structure
+
+        //j indexes the CP and k indexes the components within a TMLSDPanel
+        if (listCPs.size() > 0) {
+            for (int j = 0; j < listCPs.size(); j++) {
+                Vector<TDiagramPanel> panelList = listCPs.get(j).getPanels();    //the list of AD and SD panels for a given CP
+                for (TDiagramPanel panel : panelList) {
+                    //TraceManager.addDev( "Into createListInstances, panel name: " + panel.getName() );
+                    if (panel instanceof TMLSDPanel) {
+                        //TraceManager.addDev( "Found TMLSDPanel named: " + panel.getName() );
+                        java.util.List<TGComponent> componentsList = panel.getComponentList();
+                        for (int k = 0; k < componentsList.size(); k++) {
+                            TGComponent elem = componentsList.get(k);
+                            if (elem instanceof ui.tmlsd.TMLSDInstance) {
+                                sdInstancesNames.add(elem.getName());
+                                if (elem instanceof TMLSDStorageInstance) {
+                                    sdStorageInstances_local.add(elem.getName());
+                                }
+                                if (elem instanceof TMLSDTransferInstance) {
+                                    sdTransferInstances_local.add(elem.getName());
+                                }
+                                if (elem instanceof TMLSDControllerInstance) {
+                                    sdControllerInstances_local.add(elem.getName());
+                                }
+                            }
+                        }    /* end of for over k */
+                    }
+                }    /* end of examining all diagrams for a CP */
+                for (String s : sdInstancesNames) {
+                    if (listCPs.get(j).getName().equals(communicationPatternsCB.getSelectedItem())) {
+                        TraceManager.addDev("Found a TMLSDInstance named: " + s);
+                        if (!isInstanceMapped(s)) {
+                            sdInstancesSL.add(s);    //the string list displayed in the combo box
+                            TraceManager.addDev("Instance " + s + " is un-mapped. Adding to SL list");
+                        }
+                    }
+                }
+                listInstancesHash.add(j, sdInstancesNames);                                    //for each CP the list of instances
+                sdStorageInstances.add(j, sdStorageInstances_local);                //for each CP the list of storage instances
+                sdTransferInstances.add(j, sdTransferInstances_local);            //for each CP the list of controller instances
+                sdControllerInstances.add(j, sdControllerInstances_local);    //for each CP the list of transfer instances
+                mappedSDInstances_local.add("VOID");
+                listOfMappedInstances.add(j, mappedSDInstances_local);            //just to initialize the data structure
+                TraceManager.addDev("CP name: " + listCPs.get(j).getName());
+                TraceManager.addDev("List of storage instances: " + sdStorageInstances.get(j).toString());
+                TraceManager.addDev("List of transfer instances: " + sdTransferInstances.get(j).toString());
+                TraceManager.addDev("List of controller instances: " + sdControllerInstances.get(j).toString());
+                sdInstancesNames = new HashSet<String>();    //better than using clear method
+                sdStorageInstances_local = new HashSet<String>();
+                sdTransferInstances_local = new HashSet<String>();
+                sdControllerInstances_local = new HashSet<String>();
+                mappedSDInstances_local = new HashSet<String>();
+            }
+        }
+    }
+
+    private boolean isInstanceMapped(String instanceName) {
+
+        java.util.List<String> info;
+        for (String st : mappedUnitsSL) {
+            info = splitMappingString(st);
+            if (info.get(1).equals(instanceName)) {
+                TraceManager.addDev("Instance " + info.get(1) + " is mapped");
+                return true;
+            }
+        }
+        return false;
+    }
+
+    private Vector<String> makeListOfMappableArchUnits(int instanceType) {
+
+        //0 = storage, 1 = transfer, 2 = controller
+        java.util.List<TGComponent> componentList = cp.getTDiagramPanel().getComponentList();
+        Vector<String> list = new Vector<String>();
+
+        for (int k = 0; k < componentList.size(); k++) {
+            if (componentList.get(k) instanceof TMLArchiNode) {
+                if (((TMLArchiNode) componentList.get(k)).getComponentType() == instanceType) {
+                    list.add(componentList.get(k).getName());
+                }
+            }
+        }
+
+        return list;
+    }
+
+    private void freezeSDInstancesCB() {
+        sdInstancesCB.removeActionListener(sdInstancesCBActionListener);
+    }
+
+    private void unfreezeSDInstancesCB() {
+        sdInstancesCB.addActionListener(sdInstancesCBActionListener);
+    }
+
+    private void freezeAllComboBoxes() {
+        sdInstancesCB.removeActionListener(sdInstancesCBActionListener);
+        communicationPatternsCB.removeActionListener(communicationPatternsCBActionListener);
+    }
+
+    private void unfreezeAllComboBoxes() {
+        sdInstancesCB.addActionListener(sdInstancesCBActionListener);
+        communicationPatternsCB.addActionListener(communicationPatternsCBActionListener);
+    }
+
+    public String getCPMEC() {
+        return cpMEC;
+    }
+
+    private void filterOutAssignedAttributes(Vector<String> attributesVector) {
+
+        //	ArrayList<Integer> indexList = new ArrayList<Integer>();
+        for (String s : assignedAttributes) {
+            String token = s.split(" = ")[0];
+            for (Iterator<String> iterator = attributesVector.iterator(); iterator.hasNext(); ) {
+                String s1 = iterator.next();
+                if (token.equals(s1)) {
+                    iterator.remove();
+                }
+            }
+        }
+    }
+
+    private void filterOutAssignedAddresses(Vector<String> addressVector) {
+
 //		ArrayList<Integer> indexList = new ArrayList<Integer>();
-		for( String s: assignedAttributes )	{
-			String token = s.split( " = " )[0];
-			for( Iterator<String> iterator = addressVector.iterator(); iterator.hasNext(); ) {
-				String s1 = iterator.next();
-				if( token.equals( s1 ) ) {
-					iterator.remove();
-				}
-			}
-		}
-	}
-
-	public Vector<String> getAssignedAttributes()	{
-		return assignedAttributes;
-	}
-
-	private void createAttributesAndAddressVector()	{
-
-		//String selectedCPName = (String)communicationPatternsCB.getSelectedItem();
-		int index = getIndexOfSelectedCP(); // returns -1 upon error
-
-		TraceManager.addDev( "The selected CP has index: " + index );
-		if( index >= 0 )	{
-			java.util.List<TMLCP> tmlcpsList = new ArrayList<TMLCP>();
-			for( TMLCommunicationPatternPanel panel: listCPs )	{
-				GTMLModeling gtmlm = new GTMLModeling( panel, true );
-				TMLCP tmlcp = gtmlm.translateToTMLCPDataStructure( panel.getName() );
-				tmlcpsList.add( tmlcp );
-			}
-			
-			Set<TMLAttribute> attributesHS = new HashSet<TMLAttribute>();
-			Set<TMLAttribute> addressHS = new HashSet<TMLAttribute>();
-			attributesVector = new Vector<String>();
-			addressVector = new Vector<String>();
-			//get the attributes of all SDs
-			for( TMLCPSequenceDiagram sd: tmlcpsList.get( index ).getCPSequenceDiagrams() )	{
-				for( TMLAttribute attr: sd.getAttributes() )	{
-					if( attr.isNat() || attr.isBool() )	{
-						attributesHS.add( attr );
-					}
-					if( attr.isAddress() )	{
-						addressHS.add( attr );
-					}
-				}
-			}
-			for( TMLAttribute attr: attributesHS )	{
-				attributesVector.add( attr.getType() + " " + attr.getName() );
-			}
-			for( TMLAttribute attr: addressHS )	{
-				addressVector.add( attr.getType() + " " + attr.getName() );
-			}
-		}
-        else    {   // Data structures attributesVector and addressVector are not initialized
-			attributesVector = new Vector<String>();
-            attributesVector.add( "No attribute found" );
-			addressVector = new Vector<String>();
-            addressVector.add( "No address found" );
+        for (String s : assignedAttributes) {
+            String token = s.split(" = ")[0];
+            for (Iterator<String> iterator = addressVector.iterator(); iterator.hasNext(); ) {
+                String s1 = iterator.next();
+                if (token.equals(s1)) {
+                    iterator.remove();
+                }
+            }
         }
-	}
-
-	private void createApplicationAttributesVector()	{
-		applicationAttributesVector = new Vector<String>();
-		//I have to get all the attributes of all tasks in the application model AND their values
-		Vector<String> listAttributes = cp.getTDiagramPanel().getMGUI().getAllApplicationTMLTasksAttributes();
-		
-		for( String s: listAttributes )	{
-			//String s = o.toString();
-			TraceManager.addDev( "Attribute *" + s + "*" );
-			String attrName = s.split(" ")[0];
-			String attrType = s.split(" : ")[1];
-			
-			if( attrType.contains( "Natural" ) )	{
-				attrType = TMLType.NATURAL_STRING;
-			}
-			else if( attrType.contains( "Bool" ) )	{
-				attrType = TMLType.BOOLEAN_STRING;
-			}
-			
-			if( s.contains( "=" ) )	{
-				applicationAttributesVector.add( attrType + " " + attrName + " : " + s.split(" ")[2] );
-			}
-			else	{
-				applicationAttributesVector.add( attrType + " " + attrName );
-			}
-		}
-	}
-
-	public java.util.List<Integer> getTransferTypes()	{
-		java.util.List<Integer> transferTypes = new ArrayList<Integer>();
-		transferTypes.add( transferType1 );
-		transferTypes.add( transferType2 );
-		
-		return transferTypes;
-	}
-		
-}	//End of class
+    }
+
+    public Vector<String> getAssignedAttributes() {
+        return assignedAttributes;
+    }
+
+    private void createAttributesAndAddressVector() {
+
+        //String selectedCPName = (String)communicationPatternsCB.getSelectedItem();
+        int index = getIndexOfSelectedCP(); // returns -1 upon error
+
+        TraceManager.addDev("The selected CP has index: " + index);
+        if (index >= 0) {
+            java.util.List<TMLCP> tmlcpsList = new ArrayList<TMLCP>();
+            for (TMLCommunicationPatternPanel panel : listCPs) {
+                GTMLModeling gtmlm = new GTMLModeling(panel, true);
+                TMLCP tmlcp = gtmlm.translateToTMLCPDataStructure(panel.getName());
+                tmlcpsList.add(tmlcp);
+            }
+
+            Set<TMLAttribute> attributesHS = new HashSet<TMLAttribute>();
+            Set<TMLAttribute> addressHS = new HashSet<TMLAttribute>();
+            attributesVector = new Vector<String>();
+            addressVector = new Vector<String>();
+            //get the attributes of all SDs
+            for (TMLCPSequenceDiagram sd : tmlcpsList.get(index).getCPSequenceDiagrams()) {
+                for (TMLAttribute attr : sd.getAttributes()) {
+                    if (attr.isNat() || attr.isBool()) {
+                        attributesHS.add(attr);
+                    }
+                    if (attr.isAddress()) {
+                        addressHS.add(attr);
+                    }
+                }
+            }
+            for (TMLAttribute attr : attributesHS) {
+                attributesVector.add(attr.getType() + " " + attr.getName());
+            }
+            for (TMLAttribute attr : addressHS) {
+                addressVector.add(attr.getType() + " " + attr.getName());
+            }
+        } else {   // Data structures attributesVector and addressVector are not initialized
+            attributesVector = new Vector<String>();
+            attributesVector.add("No attribute found");
+            addressVector = new Vector<String>();
+            addressVector.add("No address found");
+        }
+    }
+
+    private void createApplicationAttributesVector() {
+        applicationAttributesVector = new Vector<String>();
+        //I have to get all the attributes of all tasks in the application model AND their values
+        Vector<String> listAttributes = cp.getTDiagramPanel().getMGUI().getAllApplicationTMLTasksAttributes();
+
+        for (String s : listAttributes) {
+            //String s = o.toString();
+            TraceManager.addDev("Attribute *" + s + "*");
+            String attrName = s.split(" ")[0];
+            String attrType = s.split(" : ")[1];
+
+            if (attrType.contains("Natural")) {
+                attrType = TMLType.NATURAL_STRING;
+            } else if (attrType.contains("Bool")) {
+                attrType = TMLType.BOOLEAN_STRING;
+            }
+
+            if (s.contains("=")) {
+                applicationAttributesVector.add(attrType + " " + attrName + " : " + s.split(" ")[2]);
+            } else {
+                applicationAttributesVector.add(attrType + " " + attrName);
+            }
+        }
+    }
+
+    public java.util.List<Integer> getTransferTypes() {
+        java.util.List<Integer> transferTypes = new ArrayList<Integer>();
+        transferTypes.add(transferType1);
+        transferTypes.add(transferType2);
+
+        return transferTypes;
+    }
+
+}    //End of class