From 86a9d7753eba37c37a47f7b0941d2e3286a166bc Mon Sep 17 00:00:00 2001
From: Ludovic Apvrille <ludovic.apvrille@telecom-paris.fr>
Date: Fri, 31 May 2024 12:27:15 +0200
Subject: [PATCH] Adding support for mapping fork channels

---
 modeling/DIPLODOCUS/SmartCardProtocol_sec.xml | 1426 ++++++++---------
 src/main/java/tmltranslator/TMLMapping.java   |   17 +-
 src/main/java/tmltranslator/TMLModeling.java  |   61 +-
 src/main/java/ui/GTMLModeling.java            |   68 +-
 src/main/java/ui/MainGUI.java                 |    1 +
 .../TMLComponentTaskDiagramPanel.java         |   16 +-
 .../tmldd/TMLArchiCommunicationArtifact.java  |    1 -
 7 files changed, 834 insertions(+), 756 deletions(-)

diff --git a/modeling/DIPLODOCUS/SmartCardProtocol_sec.xml b/modeling/DIPLODOCUS/SmartCardProtocol_sec.xml
index 80045f4a6c..de52cb129d 100644
--- a/modeling/DIPLODOCUS/SmartCardProtocol_sec.xml
+++ b/modeling/DIPLODOCUS/SmartCardProtocol_sec.xml
@@ -361,8 +361,8 @@
 <cdparam x="535" y="347" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="Connector between ports" />
-<P1  x="556" y="321" id="276" />
-<P2  x="534" y="395" id="231" />
+<P1  x="556" y="321" id="332" />
+<P2  x="534" y="395" id="379" />
 <AutomaticDrawing  data="true" />
 <new d="false" />
 </CONNECTOR>
@@ -370,8 +370,8 @@
 <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="1025" y="471" id="373" />
-<P2  x="761" y="548" id="261" />
+<P1  x="1025" y="471" id="226" />
+<P2  x="761" y="548" id="347" />
 <Point x="887" y="577" />
 <AutomaticDrawing  data="true" />
 <new d="false" />
@@ -389,8 +389,8 @@
 <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="710" y="403" id="259" />
-<P2  x="693" y="321" id="298" />
+<P1  x="710" y="403" id="349" />
+<P2  x="693" y="321" id="310" />
 <AutomaticDrawing  data="true" />
 <new d="false" />
 </CONNECTOR>
@@ -398,8 +398,8 @@
 <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="534" y="369" id="226" />
-<P2  x="453" y="322" id="404" />
+<P1  x="534" y="369" id="374" />
+<P2  x="453" y="322" id="412" />
 <AutomaticDrawing  data="true" />
 <new d="false" />
 </CONNECTOR>
@@ -407,8 +407,8 @@
 <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="401" y="83" id="402" />
-<P2  x="593" y="84" id="274" />
+<P1  x="401" y="83" id="414" />
+<P2  x="593" y="84" id="334" />
 <AutomaticDrawing  data="true" />
 <new d="false" />
 </CONNECTOR>
@@ -416,8 +416,8 @@
 <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="805" y="542" id="255" />
-<P2  x="969" y="474" id="359" />
+<P1  x="805" y="542" id="353" />
+<P2  x="969" y="474" id="240" />
 <AutomaticDrawing  data="true" />
 <new d="false" />
 </CONNECTOR>
@@ -425,8 +425,8 @@
 <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="805" y="509" id="253" />
-<P2  x="931" y="466" id="361" />
+<P1  x="805" y="509" id="355" />
+<P2  x="931" y="466" id="238" />
 <AutomaticDrawing  data="true" />
 <new d="false" />
 </CONNECTOR>
@@ -434,8 +434,8 @@
 <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="750" y="406" id="245" />
-<P2  x="841" y="362" id="325" />
+<P1  x="750" y="406" id="363" />
+<P2  x="841" y="362" id="268" />
 <AutomaticDrawing  data="true" />
 <new d="false" />
 </CONNECTOR>
@@ -443,8 +443,8 @@
 <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="841" y="388" id="329" />
-<P2  x="931" y="352" id="351" />
+<P1  x="841" y="388" id="272" />
+<P2  x="931" y="352" id="248" />
 <AutomaticDrawing  data="true" />
 <new d="false" />
 </CONNECTOR>
@@ -452,8 +452,8 @@
 <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="805" y="481" id="249" />
-<P2  x="931" y="443" id="353" />
+<P1  x="805" y="481" id="359" />
+<P2  x="931" y="443" id="246" />
 <AutomaticDrawing  data="true" />
 <new d="false" />
 </CONNECTOR>
@@ -461,8 +461,8 @@
 <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="805" y="448" id="251" />
-<P2  x="931" y="416" id="355" />
+<P1  x="805" y="448" id="357" />
+<P2  x="931" y="416" id="244" />
 <AutomaticDrawing  data="true" />
 <new d="false" />
 </CONNECTOR>
@@ -470,8 +470,8 @@
 <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="931" y="387" id="357" />
-<P2  x="805" y="419" id="247" />
+<P1  x="931" y="387" id="242" />
+<P2  x="805" y="419" id="361" />
 <AutomaticDrawing  data="true" />
 <new d="false" />
 </CONNECTOR>
@@ -479,8 +479,8 @@
 <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="931" y="317" id="349" />
-<P2  x="734" y="269" id="286" />
+<P1  x="931" y="317" id="250" />
+<P2  x="734" y="269" id="322" />
 <AutomaticDrawing  data="true" />
 <new d="false" />
 </CONNECTOR>
@@ -488,8 +488,8 @@
 <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="734" y="235" id="288" />
-<P2  x="931" y="278" id="347" />
+<P1  x="734" y="235" id="320" />
+<P2  x="931" y="278" id="252" />
 <AutomaticDrawing  data="true" />
 <new d="false" />
 </CONNECTOR>
@@ -497,8 +497,8 @@
 <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="734" y="190" id="290" />
-<P2  x="931" y="235" id="345" />
+<P1  x="734" y="190" id="318" />
+<P2  x="931" y="235" id="254" />
 <AutomaticDrawing  data="true" />
 <new d="false" />
 </CONNECTOR>
@@ -506,8 +506,8 @@
 <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="841" y="362" id="324" />
-<P2  x="734" y="301" id="292" />
+<P1  x="841" y="362" id="267" />
+<P2  x="734" y="301" id="316" />
 <AutomaticDrawing  data="true" />
 <new d="false" />
 </CONNECTOR>
@@ -515,8 +515,8 @@
 <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="534" y="290" id="282" />
-<P2  x="453" y="290" id="410" />
+<P1  x="534" y="290" id="326" />
+<P2  x="453" y="290" id="406" />
 <AutomaticDrawing  data="true" />
 <new d="false" />
 </CONNECTOR>
@@ -524,8 +524,8 @@
 <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="453" y="116" id="414" />
-<P2  x="534" y="116" id="294" />
+<P1  x="453" y="116" id="402" />
+<P2  x="534" y="116" id="314" />
 <AutomaticDrawing  data="true" />
 <new d="false" />
 </CONNECTOR>
@@ -534,7 +534,7 @@
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="Connector between ports" />
 <P1  x="453" y="202" id="408" />
-<P2  x="534" y="202" id="280" />
+<P2  x="534" y="202" id="328" />
 <AutomaticDrawing  data="true" />
 <new d="false" />
 </CONNECTOR>
@@ -542,8 +542,8 @@
 <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="534" y="247" id="278" />
-<P2  x="453" y="247" id="406" />
+<P1  x="534" y="247" id="330" />
+<P2  x="453" y="247" id="410" />
 <AutomaticDrawing  data="true" />
 <new d="false" />
 </CONNECTOR>
@@ -551,8 +551,8 @@
 <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="453" y="156" id="412" />
-<P2  x="534" y="156" id="284" />
+<P1  x="453" y="156" id="404" />
+<P2  x="534" y="156" id="324" />
 <AutomaticDrawing  data="true" />
 <new d="false" />
 </CONNECTOR>
@@ -560,8 +560,8 @@
 <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="931" y="185" id="343" />
-<P2  x="734" y="111" id="272" />
+<P1  x="931" y="185" id="256" />
+<P2  x="734" y="111" id="336" />
 <AutomaticDrawing  data="true" />
 <new d="false" />
 </CONNECTOR>
@@ -569,8 +569,8 @@
 <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="630" y="324" id="296" />
-<P2  x="669" y="406" id="257" />
+<P1  x="630" y="324" id="312" />
+<P2  x="669" y="406" id="351" />
 <AutomaticDrawing  data="true" />
 <new d="false" />
 </CONNECTOR>
@@ -578,8 +578,8 @@
 <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="1232" y="368" id="309" />
-<P2  x="1167" y="370" id="363" />
+<P1  x="1232" y="368" id="290" />
+<P2  x="1167" y="370" id="236" />
 <AutomaticDrawing  data="true" />
 <new d="false" />
 </CONNECTOR>
@@ -587,8 +587,8 @@
 <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="1167" y="405" id="365" />
-<P2  x="1232" y="403" id="311" />
+<P1  x="1167" y="405" id="234" />
+<P2  x="1232" y="403" id="288" />
 <AutomaticDrawing  data="true" />
 <new d="false" />
 </CONNECTOR>
@@ -596,8 +596,8 @@
 <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="1167" y="198" id="367" />
-<P2  x="1167" y="266" id="369" />
+<P1  x="1167" y="198" id="232" />
+<P2  x="1167" y="266" id="230" />
 <Point x="1227" y="207" />
 <Point x="1227" y="247" />
 <AutomaticDrawing  data="true" />
@@ -625,8 +625,8 @@
 <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="1167" y="444" id="371" />
-<P2  x="1232" y="431" id="313" />
+<P1  x="1167" y="444" id="228" />
+<P2  x="1232" y="431" id="286" />
 <AutomaticDrawing  data="true" />
 <new d="false" />
 </CONNECTOR>
@@ -670,64 +670,64 @@
 <info hiddeni="false" />
 </extraparam>
 </COMPONENT>
-<SUBCOMPONENT type="1201" id="244" index="33" uid="e4abad9b-e92a-4bef-8cf7-449544412e3e" >
+<SUBCOMPONENT type="1200" id="309" index="33" uid="02d9dfc5-3c9d-4a31-aabb-0cbd7221646d" >
 <father id="401" num="0" />
-<cdparam x="521" y="369" />
-<sizeparam width="26" height="26" minWidth="10" minHeight="10" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="841" y="133" />
+<sizeparam width="570" height="485" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-13" maxX="922" minY="-13" maxY="517" />
-<infoparam name="Composite port" value="" />
+<cdrectangleparam minX="0" maxX="365" minY="0" maxY="45" />
+<infoparam name="TGComponent" value="TCPIP Entities" />
 <new d="false" />
-<TGConnectingPoint num="0" id="226" />
-<TGConnectingPoint num="1" id="227" />
-<TGConnectingPoint num="2" id="228" />
-<TGConnectingPoint num="3" id="229" />
-<TGConnectingPoint num="4" id="230" />
-<TGConnectingPoint num="5" id="231" />
-<TGConnectingPoint num="6" id="232" />
-<TGConnectingPoint num="7" id="233" />
-<TGConnectingPoint num="8" id="234" />
-<TGConnectingPoint num="9" id="235" />
-<TGConnectingPoint num="10" id="236" />
-<TGConnectingPoint num="11" id="237" />
-<TGConnectingPoint num="12" id="238" />
-<TGConnectingPoint num="13" id="239" />
-<TGConnectingPoint num="14" id="240" />
-<TGConnectingPoint num="15" id="241" />
-<TGConnectingPoint num="16" id="242" />
-<TGConnectingPoint num="17" id="243" />
-</SUBCOMPONENT>
-<SUBCOMPONENT type="1202" id="271" index="34" uid="692e9e0a-bb67-4443-8920-875ee3f551c0" >
-<father id="401" num="1" />
-<cdparam x="565" y="416" />
-<sizeparam width="240" height="145" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<TGConnectingPoint num="0" id="301" />
+<TGConnectingPoint num="1" id="302" />
+<TGConnectingPoint num="2" id="303" />
+<TGConnectingPoint num="3" id="304" />
+<TGConnectingPoint num="4" id="305" />
+<TGConnectingPoint num="5" id="306" />
+<TGConnectingPoint num="6" id="307" />
+<TGConnectingPoint num="7" id="308" />
+<extraparam>
+<info hiddeni="false" />
+</extraparam>
+</SUBCOMPONENT>
+<SUBCOMPONENT type="1202" id="266" index="34" uid="7cf8d296-9d9c-4695-a3e2-c9c592f14bc1" >
+<father id="309" num="0" />
+<cdparam x="931" y="167" />
+<sizeparam width="236" height="317" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="695" minY="0" maxY="385" />
-<infoparam name="TGComponent" value="Application" />
+<cdrectangleparam minX="0" maxX="334" minY="0" maxY="168" />
+<infoparam name="TGComponent" value="TCPIP" />
 <new d="false" />
-<TGConnectingPoint num="0" id="263" />
-<TGConnectingPoint num="1" id="264" />
-<TGConnectingPoint num="2" id="265" />
-<TGConnectingPoint num="3" id="266" />
-<TGConnectingPoint num="4" id="267" />
-<TGConnectingPoint num="5" id="268" />
-<TGConnectingPoint num="6" id="269" />
-<TGConnectingPoint num="7" id="270" />
+<TGConnectingPoint num="0" id="258" />
+<TGConnectingPoint num="1" id="259" />
+<TGConnectingPoint num="2" id="260" />
+<TGConnectingPoint num="3" id="261" />
+<TGConnectingPoint num="4" id="262" />
+<TGConnectingPoint num="5" id="263" />
+<TGConnectingPoint num="6" id="264" />
+<TGConnectingPoint num="7" id="265" />
 <extraparam>
 <Data isAttacker="No" daemon="false" periodic="false" periodValue="" unit="" Operation="" />
+<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="246" index="35" uid="7d3df878-1ac2-4cdc-9142-533434ec740f" >
-<father id="271" num="0" />
-<cdparam x="740" y="406" />
-<sizeparam width="21" height="21" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<SUBCOMPONENT type="1203" id="227" index="35" uid="abe0de81-2013-4dfd-b858-2d214b7e97af" >
+<father id="266" num="0" />
+<cdparam x="1012" y="471" />
+<sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-10" maxX="230" minY="-10" maxY="135" />
-<infoparam name="TGComponent" value="Request start_TCP_IP" />
+<cdrectangleparam minX="-13" maxX="223" minY="-13" maxY="304" />
+<infoparam name="Primitive port" value="Event opened" />
 <new d="false" />
-<TGConnectingPoint num="0" id="245" />
+<TGConnectingPoint num="0" id="226" />
 <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" vc="0" />
+<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" vc="0" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -735,17 +735,17 @@
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="248" index="36" uid="74f8e576-39f1-4b14-b063-5a54e6ae220a" >
-<father id="271" num="1" />
-<cdparam x="795" y="419" />
+<SUBCOMPONENT type="1203" id="229" index="36" uid="2809d85a-b499-4d55-b9b0-73145443c919" >
+<father id="266" num="1" />
+<cdparam x="1157" y="444" />
 <sizeparam width="21" height="21" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-10" maxX="230" minY="-10" maxY="135" />
-<infoparam name="TGComponent" value="Channel fromTtoA" />
+<cdrectangleparam minX="-10" maxX="226" minY="-10" maxY="307" />
+<infoparam name="TGComponent" value="Event stop" />
 <new d="false" />
-<TGConnectingPoint num="0" id="247" />
+<TGConnectingPoint num="0" id="228" />
 <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" vc="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" vc="0" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -753,17 +753,17 @@
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="250" index="37" uid="9fd51d1f-7caf-4dcb-9cda-a0da4479d50a" >
-<father id="271" num="2" />
-<cdparam x="795" y="481" />
+<SUBCOMPONENT type="1203" id="231" index="37" uid="ac13dff0-3164-41a2-a9e1-b737266a7b4d" >
+<father id="266" num="2" />
+<cdparam x="1157" y="266" />
 <sizeparam width="21" height="21" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-10" maxX="230" minY="-10" maxY="135" />
-<infoparam name="TGComponent" value="Event send_TCP" />
+<cdrectangleparam minX="-10" maxX="226" minY="-10" maxY="307" />
+<infoparam name="TGComponent" value="Channel temp" />
 <new d="false" />
-<TGConnectingPoint num="0" id="249" />
+<TGConnectingPoint num="0" id="230" />
 <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" vc="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" vc="0" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -771,17 +771,17 @@
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="252" index="38" uid="ed94fd05-e3ec-4162-bcc0-79a070ccea04" >
-<father id="271" num="3" />
-<cdparam x="795" y="448" />
+<SUBCOMPONENT type="1203" id="233" index="38" uid="80bda654-6f5f-463e-839b-312ebefc8e4e" >
+<father id="266" num="3" />
+<cdparam x="1157" y="198" />
 <sizeparam width="21" height="21" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-10" maxX="230" minY="-10" maxY="135" />
-<infoparam name="TGComponent" value="Event open, abort, close" />
+<cdrectangleparam minX="-10" maxX="226" minY="-10" maxY="307" />
+<infoparam name="TGComponent" value="Channel temp" />
 <new d="false" />
-<TGConnectingPoint num="0" id="251" />
+<TGConnectingPoint num="0" id="232" />
 <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" vc="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" vc="0" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -789,17 +789,17 @@
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="254" index="39" uid="94775fa2-08e0-4bc0-a4ce-00f094c4f8d1" >
-<father id="271" num="4" />
-<cdparam x="795" y="509" />
+<SUBCOMPONENT type="1203" id="235" index="39" uid="ee7d2f8e-b735-4c58-b1dd-8d4592561c67" >
+<father id="266" num="4" />
+<cdparam x="1157" y="405" />
 <sizeparam width="21" height="21" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-10" maxX="230" minY="-10" maxY="135" />
-<infoparam name="TGComponent" value="Event receive_Application" />
+<cdrectangleparam minX="-10" maxX="226" minY="-10" maxY="307" />
+<infoparam name="TGComponent" value="Request req_Timer" />
 <new d="false" />
-<TGConnectingPoint num="0" id="253" />
+<TGConnectingPoint num="0" id="234" />
 <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="0" checkStrongAuthStatus="0" vc="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" vc="0" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -807,17 +807,17 @@
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="256" index="40" uid="04e23ad7-9d9c-4461-bac5-c95ef31e44eb" >
-<father id="271" num="5" />
-<cdparam x="795" y="542" />
+<SUBCOMPONENT type="1203" id="237" index="40" uid="b9e43e16-84fd-4f4d-8956-386f9462f19c" >
+<father id="266" num="5" />
+<cdparam x="1157" y="370" />
 <sizeparam width="21" height="21" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-10" maxX="230" minY="-10" maxY="135" />
-<infoparam name="TGComponent" value="Channel fromAtoT" />
+<cdrectangleparam minX="-10" maxX="226" minY="-10" maxY="307" />
+<infoparam name="TGComponent" value="Event timeOut" />
 <new d="false" />
-<TGConnectingPoint num="0" id="255" />
+<TGConnectingPoint num="0" id="236" />
 <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" vc="0" />
+<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" vc="0" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -825,17 +825,17 @@
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="258" index="41" uid="ffef0e75-8033-4385-8197-3c3c8dcc66ff" >
-<father id="271" num="6" />
-<cdparam x="659" y="406" />
+<SUBCOMPONENT type="1203" id="239" index="41" uid="5c59a414-5a56-4411-b207-108c280d81ce" >
+<father id="266" num="6" />
+<cdparam x="921" y="466" />
 <sizeparam width="21" height="21" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-10" maxX="230" minY="-10" maxY="135" />
-<infoparam name="TGComponent" value="Request start_Application" />
+<cdrectangleparam minX="-10" maxX="226" minY="-10" maxY="307" />
+<infoparam name="TGComponent" value="Event receive_Application" />
 <new d="false" />
-<TGConnectingPoint num="0" id="257" />
+<TGConnectingPoint num="0" id="238" />
 <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" vc="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" vc="0" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -843,17 +843,17 @@
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="260" index="42" uid="32288d98-c2d9-433e-97c6-94e69bc389f1" >
-<father id="271" num="7" />
-<cdparam x="697" y="403" />
-<sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<SUBCOMPONENT type="1203" id="241" index="42" uid="1721fdab-d558-460c-8870-22b6988893db" >
+<father id="266" num="7" />
+<cdparam x="959" y="474" />
+<sizeparam width="21" height="21" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-13" maxX="227" minY="-13" maxY="132" />
-<infoparam name="Primitive port" value="Event connectionOpened" />
+<cdrectangleparam minX="-10" maxX="226" minY="-10" maxY="307" />
+<infoparam name="TGComponent" value="Channel fromAtoT" />
 <new d="false" />
-<TGConnectingPoint num="0" id="259" />
+<TGConnectingPoint num="0" id="240" />
 <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="0" checkStrongAuthStatus="0" vc="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" vc="0" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -861,17 +861,17 @@
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="262" index="43" uid="ec278a82-c964-4646-b637-5622f115b9c9" >
-<father id="271" num="8" />
-<cdparam x="748" y="548" />
-<sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<SUBCOMPONENT type="1203" id="243" index="43" uid="194db942-3760-4143-8111-0afe145545ad" >
+<father id="266" num="8" />
+<cdparam x="921" y="387" />
+<sizeparam width="21" height="21" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-13" maxX="227" minY="-13" maxY="132" />
-<infoparam name="Primitive port" value="Event opened" />
+<cdrectangleparam minX="-10" maxX="226" minY="-10" maxY="307" />
+<infoparam name="TGComponent" value="Channel fromTtoA" />
 <new d="false" />
-<TGConnectingPoint num="0" id="261" />
+<TGConnectingPoint num="0" id="242" />
 <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="0" checkStrongAuthStatus="0" vc="0" />
+<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" vc="0" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -879,45 +879,35 @@
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1202" id="308" index="44" uid="32aaf177-d2bf-4329-8792-30b05ea73552" >
-<father id="401" num="2" />
-<cdparam x="534" y="97" />
-<sizeparam width="200" height="237" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<SUBCOMPONENT type="1203" id="245" index="44" uid="8b6159b3-e090-4f15-b9d4-dc09fc428116" >
+<father id="266" num="9" />
+<cdparam x="921" y="416" />
+<sizeparam width="21" height="21" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="735" minY="0" maxY="293" />
-<infoparam name="TGComponent" value="SmartCard" />
+<cdrectangleparam minX="-10" maxX="226" minY="-10" maxY="307" />
+<infoparam name="TGComponent" value="Event open, abort, close" />
 <new d="false" />
-<TGConnectingPoint num="0" id="300" />
-<TGConnectingPoint num="1" id="301" />
-<TGConnectingPoint num="2" id="302" />
-<TGConnectingPoint num="3" id="303" />
-<TGConnectingPoint num="4" id="304" />
-<TGConnectingPoint num="5" id="305" />
-<TGConnectingPoint num="6" id="306" />
-<TGConnectingPoint num="7" id="307" />
+<TGConnectingPoint num="0" id="244" />
 <extraparam>
-<Data isAttacker="No" daemon="false" periodic="false" periodValue="" unit="" Operation="" />
-<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="" />
+<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" vc="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="273" index="45" uid="b34c6265-ecb8-47f7-933a-ca8637cc1dd4" >
-<father id="308" num="0" />
-<cdparam x="721" y="111" />
-<sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<SUBCOMPONENT type="1203" id="247" index="45" uid="1646bd20-4d44-4d55-b68a-60a96bfd1afb" >
+<father id="266" num="10" />
+<cdparam x="921" y="443" />
+<sizeparam width="21" height="21" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-13" maxX="187" minY="-13" maxY="224" />
-<infoparam name="TGComponent" value="Event send" />
+<cdrectangleparam minX="-10" maxX="226" minY="-10" maxY="307" />
+<infoparam name="TGComponent" value="Event send_TCP" />
 <new d="false" />
-<TGConnectingPoint num="0" id="272" />
+<TGConnectingPoint num="0" id="246" />
 <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" vc="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" vc="0" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -925,18 +915,17 @@
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="275" index="46" uid="bbefd945-cc2e-4253-afed-e14a8e95ff78" >
-<father id="308" num="1" />
-<reference id="184" />
-<cdparam x="580" y="84" />
-<sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<SUBCOMPONENT type="1203" id="249" index="46" uid="11163b60-6e90-4ea6-a828-c413413e439d" >
+<father id="266" num="11" />
+<cdparam x="921" y="352" />
+<sizeparam width="21" height="21" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-13" maxX="187" minY="-13" maxY="224" />
-<infoparam name="TGComponent" value="Event reset, pTS, end" />
+<cdrectangleparam minX="-10" maxX="226" minY="-10" maxY="307" />
+<infoparam name="TGComponent" value="Request start_TCP_IP" />
 <new d="false" />
-<TGConnectingPoint num="0" id="274" />
+<TGConnectingPoint num="0" id="248" />
 <extraparam>
-<Prop commName="reset, pTS, end" 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" vc="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" vc="0" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -944,17 +933,17 @@
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="277" index="47" uid="692073fc-e33b-45c1-a2f5-7c187ca60be5" >
-<father id="308" num="2" />
-<cdparam x="543" y="321" />
+<SUBCOMPONENT type="1203" id="251" index="47" uid="b9d8ba9c-f056-455e-934f-1e7dffd53825" >
+<father id="266" num="12" />
+<cdparam x="918" y="317" />
 <sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-13" maxX="187" minY="-13" maxY="224" />
-<infoparam name="TGComponent" value="Event answerToReset, pTSConfirm" />
+<cdrectangleparam minX="-13" maxX="223" minY="-13" maxY="304" />
+<infoparam name="TGComponent" value="Channel fromTtoP" />
 <new d="false" />
-<TGConnectingPoint num="0" id="276" />
+<TGConnectingPoint num="0" id="250" />
 <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" vc="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" vc="0" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -962,18 +951,17 @@
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="279" index="48" uid="e5ab1fdd-0528-49c6-8989-a1e72cfc1866" >
-<father id="308" num="3" />
-<reference id="184" />
-<cdparam x="521" y="247" />
+<SUBCOMPONENT type="1203" id="253" index="48" uid="be434763-178e-45c8-9183-ed71ec3347e1" >
+<father id="266" num="13" />
+<cdparam x="918" y="278" />
 <sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-13" maxX="187" minY="-13" maxY="224" />
-<infoparam name="TGComponent" value="Channel fromSCtoD" />
+<cdrectangleparam minX="-13" maxX="223" minY="-13" maxY="304" />
+<infoparam name="TGComponent" value="Channel fromPtoT" />
 <new d="false" />
-<TGConnectingPoint num="0" id="278" />
+<TGConnectingPoint num="0" id="252" />
 <extraparam>
-<Prop commName="fromSCtoD" commType="0" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="40" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="int16_t" associatedEvent="" checkConf="true" checkConfStatus="1" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="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" vc="0" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -981,18 +969,17 @@
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="281" index="49" uid="954cc145-ab18-47d7-89f7-29aab9b3c752" >
-<father id="308" num="4" />
-<reference id="184" />
-<cdparam x="521" y="202" />
+<SUBCOMPONENT type="1203" id="255" index="49" uid="5e341cd1-ad77-455d-a6d2-af73f36456bc" >
+<father id="266" num="14" />
+<cdparam x="918" y="235" />
 <sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-13" maxX="187" minY="-13" maxY="224" />
-<infoparam name="TGComponent" value="Channel fromDtoSC" />
+<cdrectangleparam minX="-13" maxX="223" minY="-13" maxY="304" />
+<infoparam name="TGComponent" value="Event receive" />
 <new d="false" />
-<TGConnectingPoint num="0" id="280" />
+<TGConnectingPoint num="0" id="254" />
 <extraparam>
-<Prop commName="fromDtoSC" commType="0" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="40" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="null" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="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" vc="0" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -1000,17 +987,17 @@
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="283" index="50" uid="5e8c1a84-a68f-4555-9dab-db593d2f9b5e" >
-<father id="308" num="5" />
-<cdparam x="521" y="290" />
+<SUBCOMPONENT type="1203" id="257" index="50" uid="904bf070-7141-47c8-ac41-874c7e60efc0" >
+<father id="266" num="15" />
+<cdparam x="918" y="185" />
 <sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-13" maxX="187" minY="-13" maxY="224" />
-<infoparam name="TGComponent" value="Event data_Ready_SC" />
+<cdrectangleparam minX="-13" maxX="223" minY="-13" maxY="304" />
+<infoparam name="TGComponent" value="Event send" />
 <new d="false" />
-<TGConnectingPoint num="0" id="282" />
+<TGConnectingPoint num="0" id="256" />
 <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" vc="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" vc="0" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -1018,35 +1005,65 @@
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="285" index="51" uid="e58bde10-4a5e-4e4b-89c3-540f7bc2502a" >
-<father id="308" num="6" />
-<cdparam x="521" y="156" />
-<sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<SUBCOMPONENT type="1201" id="285" index="51" uid="256f13b3-bd9a-4b64-84d8-f46d37561c08" >
+<father id="309" num="1" />
+<cdparam x="828" y="362" />
+<sizeparam width="26" height="26" minWidth="10" minHeight="10" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-13" maxX="187" minY="-13" maxY="224" />
-<infoparam name="TGComponent" value="Event data_Ready" />
+<cdrectangleparam minX="-13" maxX="557" minY="-13" maxY="472" />
+<infoparam name="Composite port" value="" />
 <new d="false" />
-<TGConnectingPoint num="0" id="284" />
+<TGConnectingPoint num="0" id="267" />
+<TGConnectingPoint num="1" id="268" />
+<TGConnectingPoint num="2" id="269" />
+<TGConnectingPoint num="3" id="270" />
+<TGConnectingPoint num="4" id="271" />
+<TGConnectingPoint num="5" id="272" />
+<TGConnectingPoint num="6" id="273" />
+<TGConnectingPoint num="7" id="274" />
+<TGConnectingPoint num="8" id="275" />
+<TGConnectingPoint num="9" id="276" />
+<TGConnectingPoint num="10" id="277" />
+<TGConnectingPoint num="11" id="278" />
+<TGConnectingPoint num="12" id="279" />
+<TGConnectingPoint num="13" id="280" />
+<TGConnectingPoint num="14" id="281" />
+<TGConnectingPoint num="15" id="282" />
+<TGConnectingPoint num="16" id="283" />
+<TGConnectingPoint num="17" id="284" />
+</SUBCOMPONENT>
+<SUBCOMPONENT type="1202" id="300" index="52" uid="24dca095-3220-4810-ac45-c26ed058a3b0" >
+<father id="309" num="2" />
+<cdparam x="1232" y="328" />
+<sizeparam width="140" height="141" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="0" maxX="430" minY="0" maxY="344" />
+<infoparam name="TGComponent" value="Timer" />
+<new d="false" />
+<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>
-<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" vc="0" />
-<Type type="1" typeOther="" />
-<Type type="2" typeOther="" />
-<Type type="0" typeOther="" />
-<Type type="0" typeOther="" />
-<Type type="0" typeOther="" />
+<Data isAttacker="No" daemon="false" periodic="false" periodValue="" unit="" Operation="" />
+<Attribute access="2" id="x" value="0" type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="287" index="52" uid="e1f95eeb-4d83-4c32-b9a7-81c7b9c1893e" >
-<father id="308" num="7" />
-<cdparam x="721" y="269" />
-<sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<SUBCOMPONENT type="1203" id="287" index="53" uid="82c88057-2467-4ea6-8ee5-4e47da8e5084" >
+<father id="300" num="0" />
+<cdparam x="1222" y="431" />
+<sizeparam width="21" height="21" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-13" maxX="187" minY="-13" maxY="224" />
-<infoparam name="TGComponent" value="Channel fromTtoP" />
+<cdrectangleparam minX="-10" maxX="130" minY="-10" maxY="131" />
+<infoparam name="TGComponent" value="Event stop" />
 <new d="false" />
 <TGConnectingPoint num="0" id="286" />
 <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" vc="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" vc="0" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -1054,17 +1071,17 @@
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="289" index="53" uid="1436f300-6c1e-4f45-9b0d-03f9c8473229" >
-<father id="308" num="8" />
-<cdparam x="721" y="235" />
-<sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<SUBCOMPONENT type="1203" id="289" index="54" uid="12d14e33-c47b-4c3a-aa17-7903273e9ec4" >
+<father id="300" num="1" />
+<cdparam x="1222" y="403" />
+<sizeparam width="21" height="21" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-13" maxX="187" minY="-13" maxY="224" />
-<infoparam name="TGComponent" value="Channel fromPtoT" />
+<cdrectangleparam minX="-10" maxX="130" minY="-10" maxY="131" />
+<infoparam name="TGComponent" value="Request req_Timer" />
 <new d="false" />
 <TGConnectingPoint num="0" id="288" />
 <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" vc="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" vc="0" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -1072,17 +1089,17 @@
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="291" index="54" uid="cac3bcdb-a309-49c7-91dd-98d5fb6b5aab" >
-<father id="308" num="9" />
-<cdparam x="721" y="190" />
-<sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<SUBCOMPONENT type="1203" id="291" index="55" uid="73062ecf-5aa6-48bf-968f-4f4483ccb07e" >
+<father id="300" num="2" />
+<cdparam x="1222" y="368" />
+<sizeparam width="21" height="21" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-13" maxX="187" minY="-13" maxY="224" />
-<infoparam name="TGComponent" value="Event receive" />
+<cdrectangleparam minX="-10" maxX="130" minY="-10" maxY="131" />
+<infoparam name="TGComponent" value="Event timeOut" />
 <new d="false" />
 <TGConnectingPoint num="0" 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" vc="0" />
+<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" vc="0" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -1090,35 +1107,45 @@
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="293" index="55" uid="984f72e1-4568-4cfa-9ed8-d8eb71bc3e6c" >
-<father id="308" num="10" />
-<cdparam x="721" y="301" />
-<sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<SUBCOMPONENT type="1202" id="346" index="56" uid="32aaf177-d2bf-4329-8792-30b05ea73552" >
+<father id="401" num="1" />
+<cdparam x="534" y="97" />
+<sizeparam width="200" height="237" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-13" maxX="187" minY="-13" maxY="224" />
-<infoparam name="TGComponent" value="Request start_TCP_IP" />
+<cdrectangleparam minX="0" maxX="735" minY="0" maxY="293" />
+<infoparam name="TGComponent" value="SmartCard" />
 <new d="false" />
-<TGConnectingPoint num="0" id="292" />
+<TGConnectingPoint num="0" id="338" />
+<TGConnectingPoint num="1" id="339" />
+<TGConnectingPoint num="2" id="340" />
+<TGConnectingPoint num="3" id="341" />
+<TGConnectingPoint num="4" id="342" />
+<TGConnectingPoint num="5" id="343" />
+<TGConnectingPoint num="6" id="344" />
+<TGConnectingPoint num="7" id="345" />
 <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" vc="0" />
-<Type type="0" typeOther="" />
-<Type type="0" typeOther="" />
-<Type type="0" typeOther="" />
-<Type type="0" typeOther="" />
-<Type type="0" typeOther="" />
+<Data isAttacker="No" daemon="false" periodic="false" periodValue="" unit="" Operation="" />
+<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="295" index="56" uid="f4167267-2cd9-4737-b8f5-de2fa3153b8d" >
-<father id="308" num="11" />
-<cdparam x="524" y="116" />
-<sizeparam width="21" height="21" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<SUBCOMPONENT type="1203" id="311" index="57" uid="1fc874ea-5844-4a28-96cc-204f99a38a19" >
+<father id="346" num="0" />
+<cdparam x="680" y="321" />
+<sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-10" maxX="190" minY="-10" maxY="227" />
-<infoparam name="TGComponent" value="Request activation" />
+<cdrectangleparam minX="-13" maxX="187" minY="-13" maxY="224" />
+<infoparam name="Primitive port" value="Event connectionOpened" />
 <new d="false" />
-<TGConnectingPoint num="0" id="294" />
+<TGConnectingPoint num="0" id="310" />
 <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" vc="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" vc="0" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -1126,15 +1153,15 @@
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="297" index="57" uid="bd12ee3d-6608-49b4-a6db-ea163c32a90c" >
-<father id="308" num="12" />
+<SUBCOMPONENT type="1203" id="313" index="58" uid="bd12ee3d-6608-49b4-a6db-ea163c32a90c" >
+<father id="346" num="1" />
 <cdparam x="620" y="324" />
 <sizeparam width="21" height="21" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="-10" maxX="190" minY="-10" maxY="227" />
 <infoparam name="TGComponent" value="Request start_Application" />
 <new d="false" />
-<TGConnectingPoint num="0" id="296" />
+<TGConnectingPoint num="0" id="312" />
 <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" vc="0" />
 <Type type="0" typeOther="" />
@@ -1144,76 +1171,17 @@
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="299" index="58" uid="1fc874ea-5844-4a28-96cc-204f99a38a19" >
-<father id="308" num="13" />
-<cdparam x="680" y="321" />
-<sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<hidden value="false" />
-<cdrectangleparam minX="-13" maxX="187" minY="-13" maxY="224" />
-<infoparam name="Primitive port" value="Event connectionOpened" />
-<new d="false" />
-<TGConnectingPoint num="0" id="298" />
-<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="0" checkStrongAuthStatus="0" vc="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="1200" id="392" index="59" uid="02d9dfc5-3c9d-4a31-aabb-0cbd7221646d" >
-<father id="401" num="3" />
-<cdparam x="841" y="133" />
-<sizeparam width="570" height="485" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<hidden value="false" />
-<cdrectangleparam minX="0" maxX="365" minY="0" maxY="45" />
-<infoparam name="TGComponent" value="TCPIP Entities" />
-<new d="false" />
-<TGConnectingPoint num="0" id="384" />
-<TGConnectingPoint num="1" id="385" />
-<TGConnectingPoint num="2" id="386" />
-<TGConnectingPoint num="3" id="387" />
-<TGConnectingPoint num="4" id="388" />
-<TGConnectingPoint num="5" id="389" />
-<TGConnectingPoint num="6" id="390" />
-<TGConnectingPoint num="7" id="391" />
-<extraparam>
-<info hiddeni="false" />
-</extraparam>
-</SUBCOMPONENT>
-<SUBCOMPONENT type="1202" id="323" index="60" uid="24dca095-3220-4810-ac45-c26ed058a3b0" >
-<father id="392" num="0" />
-<cdparam x="1232" y="328" />
-<sizeparam width="140" height="141" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<hidden value="false" />
-<cdrectangleparam minX="0" maxX="430" minY="0" maxY="344" />
-<infoparam name="TGComponent" value="Timer" />
-<new d="false" />
-<TGConnectingPoint num="0" id="315" />
-<TGConnectingPoint num="1" id="316" />
-<TGConnectingPoint num="2" id="317" />
-<TGConnectingPoint num="3" id="318" />
-<TGConnectingPoint num="4" id="319" />
-<TGConnectingPoint num="5" id="320" />
-<TGConnectingPoint num="6" id="321" />
-<TGConnectingPoint num="7" id="322" />
-<extraparam>
-<Data isAttacker="No" daemon="false" periodic="false" periodValue="" unit="" Operation="" />
-<Attribute access="2" id="x" value="0" type="0" typeOther="" />
-</extraparam>
-</SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="310" index="61" uid="73062ecf-5aa6-48bf-968f-4f4483ccb07e" >
-<father id="323" num="0" />
-<cdparam x="1222" y="368" />
+<SUBCOMPONENT type="1203" id="315" index="59" uid="f4167267-2cd9-4737-b8f5-de2fa3153b8d" >
+<father id="346" num="2" />
+<cdparam x="524" y="116" />
 <sizeparam width="21" height="21" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-10" maxX="130" minY="-10" maxY="131" />
-<infoparam name="TGComponent" value="Event timeOut" />
+<cdrectangleparam minX="-10" maxX="190" minY="-10" maxY="227" />
+<infoparam name="TGComponent" value="Request activation" />
 <new d="false" />
-<TGConnectingPoint num="0" id="309" />
+<TGConnectingPoint num="0" id="314" />
 <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" vc="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" vc="0" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -1221,17 +1189,17 @@
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="312" index="62" uid="12d14e33-c47b-4c3a-aa17-7903273e9ec4" >
-<father id="323" num="1" />
-<cdparam x="1222" y="403" />
-<sizeparam width="21" height="21" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<SUBCOMPONENT type="1203" id="317" index="60" uid="984f72e1-4568-4cfa-9ed8-d8eb71bc3e6c" >
+<father id="346" num="3" />
+<cdparam x="721" y="301" />
+<sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-10" maxX="130" minY="-10" maxY="131" />
-<infoparam name="TGComponent" value="Request req_Timer" />
+<cdrectangleparam minX="-13" maxX="187" minY="-13" maxY="224" />
+<infoparam name="TGComponent" value="Request start_TCP_IP" />
 <new d="false" />
-<TGConnectingPoint num="0" id="311" />
+<TGConnectingPoint num="0" id="316" />
 <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" vc="0" />
+<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" vc="0" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -1239,17 +1207,17 @@
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="314" index="63" uid="82c88057-2467-4ea6-8ee5-4e47da8e5084" >
-<father id="323" num="2" />
-<cdparam x="1222" y="431" />
-<sizeparam width="21" height="21" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<SUBCOMPONENT type="1203" id="319" index="61" uid="cac3bcdb-a309-49c7-91dd-98d5fb6b5aab" >
+<father id="346" num="4" />
+<cdparam x="721" y="190" />
+<sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-10" maxX="130" minY="-10" maxY="131" />
-<infoparam name="TGComponent" value="Event stop" />
+<cdrectangleparam minX="-13" maxX="187" minY="-13" maxY="224" />
+<infoparam name="TGComponent" value="Event receive" />
 <new d="false" />
-<TGConnectingPoint num="0" id="313" />
+<TGConnectingPoint num="0" id="318" />
 <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" vc="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" vc="0" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -1257,71 +1225,35 @@
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1201" id="342" index="64" uid="256f13b3-bd9a-4b64-84d8-f46d37561c08" >
-<father id="392" num="1" />
-<cdparam x="828" y="362" />
-<sizeparam width="26" height="26" minWidth="10" minHeight="10" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<hidden value="false" />
-<cdrectangleparam minX="-13" maxX="557" minY="-13" maxY="472" />
-<infoparam name="Composite port" value="" />
-<new d="false" />
-<TGConnectingPoint num="0" id="324" />
-<TGConnectingPoint num="1" id="325" />
-<TGConnectingPoint num="2" id="326" />
-<TGConnectingPoint num="3" id="327" />
-<TGConnectingPoint num="4" id="328" />
-<TGConnectingPoint num="5" id="329" />
-<TGConnectingPoint num="6" id="330" />
-<TGConnectingPoint num="7" id="331" />
-<TGConnectingPoint num="8" id="332" />
-<TGConnectingPoint num="9" id="333" />
-<TGConnectingPoint num="10" id="334" />
-<TGConnectingPoint num="11" id="335" />
-<TGConnectingPoint num="12" id="336" />
-<TGConnectingPoint num="13" id="337" />
-<TGConnectingPoint num="14" id="338" />
-<TGConnectingPoint num="15" id="339" />
-<TGConnectingPoint num="16" id="340" />
-<TGConnectingPoint num="17" id="341" />
-</SUBCOMPONENT>
-<SUBCOMPONENT type="1202" id="383" index="65" uid="7cf8d296-9d9c-4695-a3e2-c9c592f14bc1" >
-<father id="392" num="2" />
-<cdparam x="931" y="167" />
-<sizeparam width="236" height="317" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<SUBCOMPONENT type="1203" id="321" index="62" uid="1436f300-6c1e-4f45-9b0d-03f9c8473229" >
+<father id="346" num="5" />
+<cdparam x="721" y="235" />
+<sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="334" minY="0" maxY="168" />
-<infoparam name="TGComponent" value="TCPIP" />
+<cdrectangleparam minX="-13" maxX="187" minY="-13" maxY="224" />
+<infoparam name="TGComponent" value="Channel fromPtoT" />
 <new d="false" />
-<TGConnectingPoint num="0" id="375" />
-<TGConnectingPoint num="1" id="376" />
-<TGConnectingPoint num="2" id="377" />
-<TGConnectingPoint num="3" id="378" />
-<TGConnectingPoint num="4" id="379" />
-<TGConnectingPoint num="5" id="380" />
-<TGConnectingPoint num="6" id="381" />
-<TGConnectingPoint num="7" id="382" />
+<TGConnectingPoint num="0" id="320" />
 <extraparam>
-<Data isAttacker="No" daemon="false" periodic="false" periodValue="" unit="" Operation="" />
-<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" />
+<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" vc="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="344" index="66" uid="904bf070-7141-47c8-ac41-874c7e60efc0" >
-<father id="383" num="0" />
-<cdparam x="918" y="185" />
+<SUBCOMPONENT type="1203" id="323" index="63" uid="e1f95eeb-4d83-4c32-b9a7-81c7b9c1893e" >
+<father id="346" num="6" />
+<cdparam x="721" y="269" />
 <sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-13" maxX="223" minY="-13" maxY="304" />
-<infoparam name="TGComponent" value="Event send" />
+<cdrectangleparam minX="-13" maxX="187" minY="-13" maxY="224" />
+<infoparam name="TGComponent" value="Channel fromTtoP" />
 <new d="false" />
-<TGConnectingPoint num="0" id="343" />
+<TGConnectingPoint num="0" id="322" />
 <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" vc="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" vc="0" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -1329,17 +1261,35 @@
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="346" index="67" uid="5e341cd1-ad77-455d-a6d2-af73f36456bc" >
-<father id="383" num="1" />
-<cdparam x="918" y="235" />
+<SUBCOMPONENT type="1203" id="325" index="64" uid="e58bde10-4a5e-4e4b-89c3-540f7bc2502a" >
+<father id="346" num="7" />
+<cdparam x="521" y="156" />
 <sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-13" maxX="223" minY="-13" maxY="304" />
-<infoparam name="TGComponent" value="Event receive" />
+<cdrectangleparam minX="-13" maxX="187" minY="-13" maxY="224" />
+<infoparam name="TGComponent" value="Event data_Ready" />
 <new d="false" />
-<TGConnectingPoint num="0" id="345" />
+<TGConnectingPoint num="0" id="324" />
 <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" vc="0" />
+<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" vc="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="327" index="65" uid="5e8c1a84-a68f-4555-9dab-db593d2f9b5e" >
+<father id="346" num="8" />
+<cdparam x="521" y="290" />
+<sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="-13" maxX="187" minY="-13" maxY="224" />
+<infoparam name="TGComponent" value="Event data_Ready_SC" />
+<new d="false" />
+<TGConnectingPoint num="0" id="326" />
+<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" vc="0" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -1347,17 +1297,18 @@
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="348" index="68" uid="be434763-178e-45c8-9183-ed71ec3347e1" >
-<father id="383" num="2" />
-<cdparam x="918" y="278" />
+<SUBCOMPONENT type="1203" id="329" index="66" uid="954cc145-ab18-47d7-89f7-29aab9b3c752" >
+<father id="346" num="9" />
+<reference id="184" />
+<cdparam x="521" y="202" />
 <sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-13" maxX="223" minY="-13" maxY="304" />
-<infoparam name="TGComponent" value="Channel fromPtoT" />
+<cdrectangleparam minX="-13" maxX="187" minY="-13" maxY="224" />
+<infoparam name="TGComponent" value="Channel fromDtoSC" />
 <new d="false" />
-<TGConnectingPoint num="0" id="347" />
+<TGConnectingPoint num="0" id="328" />
 <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" vc="0" />
+<Prop commName="fromDtoSC" commType="0" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="40" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="null" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="0" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -1365,17 +1316,18 @@
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="350" index="69" uid="b9d8ba9c-f056-455e-934f-1e7dffd53825" >
-<father id="383" num="3" />
-<cdparam x="918" y="317" />
+<SUBCOMPONENT type="1203" id="331" index="67" uid="e5ab1fdd-0528-49c6-8989-a1e72cfc1866" >
+<father id="346" num="10" />
+<reference id="184" />
+<cdparam x="521" y="247" />
 <sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-13" maxX="223" minY="-13" maxY="304" />
-<infoparam name="TGComponent" value="Channel fromTtoP" />
+<cdrectangleparam minX="-13" maxX="187" minY="-13" maxY="224" />
+<infoparam name="TGComponent" value="Channel fromSCtoD" />
 <new d="false" />
-<TGConnectingPoint num="0" id="349" />
+<TGConnectingPoint num="0" id="330" />
 <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" vc="0" />
+<Prop commName="fromSCtoD" commType="0" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="40" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="int16_t" associatedEvent="" checkConf="true" checkConfStatus="1" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="0" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -1383,17 +1335,17 @@
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="352" index="70" uid="11163b60-6e90-4ea6-a828-c413413e439d" >
-<father id="383" num="4" />
-<cdparam x="921" y="352" />
-<sizeparam width="21" height="21" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<SUBCOMPONENT type="1203" id="333" index="68" uid="692073fc-e33b-45c1-a2f5-7c187ca60be5" >
+<father id="346" num="11" />
+<cdparam x="543" y="321" />
+<sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-10" maxX="226" minY="-10" maxY="307" />
-<infoparam name="TGComponent" value="Request start_TCP_IP" />
+<cdrectangleparam minX="-13" maxX="187" minY="-13" maxY="224" />
+<infoparam name="TGComponent" value="Event answerToReset, pTSConfirm" />
 <new d="false" />
-<TGConnectingPoint num="0" id="351" />
+<TGConnectingPoint num="0" id="332" />
 <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" vc="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" vc="0" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -1401,17 +1353,18 @@
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="354" index="71" uid="1646bd20-4d44-4d55-b68a-60a96bfd1afb" >
-<father id="383" num="5" />
-<cdparam x="921" y="443" />
-<sizeparam width="21" height="21" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<SUBCOMPONENT type="1203" id="335" index="69" uid="bbefd945-cc2e-4253-afed-e14a8e95ff78" >
+<father id="346" num="12" />
+<reference id="184" />
+<cdparam x="580" y="84" />
+<sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-10" maxX="226" minY="-10" maxY="307" />
-<infoparam name="TGComponent" value="Event send_TCP" />
+<cdrectangleparam minX="-13" maxX="187" minY="-13" maxY="224" />
+<infoparam name="TGComponent" value="Event reset, pTS, end" />
 <new d="false" />
-<TGConnectingPoint num="0" id="353" />
+<TGConnectingPoint num="0" id="334" />
 <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" vc="0" />
+<Prop commName="reset, pTS, end" 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" vc="0" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -1419,17 +1372,17 @@
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="356" index="72" uid="8b6159b3-e090-4f15-b9d4-dc09fc428116" >
-<father id="383" num="6" />
-<cdparam x="921" y="416" />
-<sizeparam width="21" height="21" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<SUBCOMPONENT type="1203" id="337" index="70" uid="b34c6265-ecb8-47f7-933a-ca8637cc1dd4" >
+<father id="346" num="13" />
+<cdparam x="721" y="111" />
+<sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-10" maxX="226" minY="-10" maxY="307" />
-<infoparam name="TGComponent" value="Event open, abort, close" />
+<cdrectangleparam minX="-13" maxX="187" minY="-13" maxY="224" />
+<infoparam name="TGComponent" value="Event send" />
 <new d="false" />
-<TGConnectingPoint num="0" id="355" />
+<TGConnectingPoint num="0" id="336" />
 <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" vc="0" />
+<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" vc="0" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -1437,17 +1390,37 @@
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="358" index="73" uid="194db942-3760-4143-8111-0afe145545ad" >
-<father id="383" num="7" />
-<cdparam x="921" y="387" />
-<sizeparam width="21" height="21" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<SUBCOMPONENT type="1202" id="373" index="71" uid="692e9e0a-bb67-4443-8920-875ee3f551c0" >
+<father id="401" num="2" />
+<cdparam x="565" y="416" />
+<sizeparam width="240" height="145" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-10" maxX="226" minY="-10" maxY="307" />
-<infoparam name="TGComponent" value="Channel fromTtoA" />
+<cdrectangleparam minX="0" maxX="695" minY="0" maxY="385" />
+<infoparam name="TGComponent" value="Application" />
 <new d="false" />
-<TGConnectingPoint num="0" id="357" />
+<TGConnectingPoint num="0" id="365" />
+<TGConnectingPoint num="1" id="366" />
+<TGConnectingPoint num="2" id="367" />
+<TGConnectingPoint num="3" id="368" />
+<TGConnectingPoint num="4" id="369" />
+<TGConnectingPoint num="5" id="370" />
+<TGConnectingPoint num="6" id="371" />
+<TGConnectingPoint num="7" id="372" />
 <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" vc="0" />
+<Data isAttacker="No" daemon="false" periodic="false" periodValue="" unit="" Operation="" />
+</extraparam>
+</SUBCOMPONENT>
+<SUBCOMPONENT type="1203" id="348" index="72" uid="ec278a82-c964-4646-b637-5622f115b9c9" >
+<father id="373" num="0" />
+<cdparam x="748" y="548" />
+<sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="-13" maxX="227" minY="-13" maxY="132" />
+<infoparam name="Primitive port" value="Event opened" />
+<new d="false" />
+<TGConnectingPoint num="0" id="347" />
+<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="0" checkStrongAuthStatus="0" vc="0" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -1455,17 +1428,17 @@
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="360" index="74" uid="1721fdab-d558-460c-8870-22b6988893db" >
-<father id="383" num="8" />
-<cdparam x="959" y="474" />
-<sizeparam width="21" height="21" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<SUBCOMPONENT type="1203" id="350" index="73" uid="32288d98-c2d9-433e-97c6-94e69bc389f1" >
+<father id="373" num="1" />
+<cdparam x="697" y="403" />
+<sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-10" maxX="226" minY="-10" maxY="307" />
-<infoparam name="TGComponent" value="Channel fromAtoT" />
+<cdrectangleparam minX="-13" maxX="227" minY="-13" maxY="132" />
+<infoparam name="Primitive port" value="Event connectionOpened" />
 <new d="false" />
-<TGConnectingPoint num="0" id="359" />
+<TGConnectingPoint num="0" id="349" />
 <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" vc="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" vc="0" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -1473,17 +1446,17 @@
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="362" index="75" uid="5c59a414-5a56-4411-b207-108c280d81ce" >
-<father id="383" num="9" />
-<cdparam x="921" y="466" />
+<SUBCOMPONENT type="1203" id="352" index="74" uid="ffef0e75-8033-4385-8197-3c3c8dcc66ff" >
+<father id="373" num="2" />
+<cdparam x="659" y="406" />
 <sizeparam width="21" height="21" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-10" maxX="226" minY="-10" maxY="307" />
-<infoparam name="TGComponent" value="Event receive_Application" />
+<cdrectangleparam minX="-10" maxX="230" minY="-10" maxY="135" />
+<infoparam name="TGComponent" value="Request start_Application" />
 <new d="false" />
-<TGConnectingPoint num="0" id="361" />
+<TGConnectingPoint num="0" id="351" />
 <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="0" checkStrongAuthStatus="0" vc="0" />
+<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" vc="0" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -1491,17 +1464,17 @@
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="364" index="76" uid="b9e43e16-84fd-4f4d-8956-386f9462f19c" >
-<father id="383" num="10" />
-<cdparam x="1157" y="370" />
+<SUBCOMPONENT type="1203" id="354" index="75" uid="04e23ad7-9d9c-4461-bac5-c95ef31e44eb" >
+<father id="373" num="3" />
+<cdparam x="795" y="542" />
 <sizeparam width="21" height="21" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-10" maxX="226" minY="-10" maxY="307" />
-<infoparam name="TGComponent" value="Event timeOut" />
+<cdrectangleparam minX="-10" maxX="230" minY="-10" maxY="135" />
+<infoparam name="TGComponent" value="Channel fromAtoT" />
 <new d="false" />
-<TGConnectingPoint num="0" id="363" />
+<TGConnectingPoint num="0" id="353" />
 <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" vc="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" vc="0" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -1509,17 +1482,17 @@
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="366" index="77" uid="ee7d2f8e-b735-4c58-b1dd-8d4592561c67" >
-<father id="383" num="11" />
-<cdparam x="1157" y="405" />
+<SUBCOMPONENT type="1203" id="356" index="76" uid="94775fa2-08e0-4bc0-a4ce-00f094c4f8d1" >
+<father id="373" num="4" />
+<cdparam x="795" y="509" />
 <sizeparam width="21" height="21" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-10" maxX="226" minY="-10" maxY="307" />
-<infoparam name="TGComponent" value="Request req_Timer" />
+<cdrectangleparam minX="-10" maxX="230" minY="-10" maxY="135" />
+<infoparam name="TGComponent" value="Event receive_Application" />
 <new d="false" />
-<TGConnectingPoint num="0" id="365" />
+<TGConnectingPoint num="0" id="355" />
 <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" vc="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" vc="0" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -1527,17 +1500,17 @@
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="368" index="78" uid="80bda654-6f5f-463e-839b-312ebefc8e4e" >
-<father id="383" num="12" />
-<cdparam x="1157" y="198" />
+<SUBCOMPONENT type="1203" id="358" index="77" uid="ed94fd05-e3ec-4162-bcc0-79a070ccea04" >
+<father id="373" num="5" />
+<cdparam x="795" y="448" />
 <sizeparam width="21" height="21" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-10" maxX="226" minY="-10" maxY="307" />
-<infoparam name="TGComponent" value="Channel temp" />
+<cdrectangleparam minX="-10" maxX="230" minY="-10" maxY="135" />
+<infoparam name="TGComponent" value="Event open, abort, close" />
 <new d="false" />
-<TGConnectingPoint num="0" id="367" />
+<TGConnectingPoint num="0" id="357" />
 <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" vc="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" vc="0" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -1545,17 +1518,17 @@
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="370" index="79" uid="ac13dff0-3164-41a2-a9e1-b737266a7b4d" >
-<father id="383" num="13" />
-<cdparam x="1157" y="266" />
+<SUBCOMPONENT type="1203" id="360" index="78" uid="9fd51d1f-7caf-4dcb-9cda-a0da4479d50a" >
+<father id="373" num="6" />
+<cdparam x="795" y="481" />
 <sizeparam width="21" height="21" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-10" maxX="226" minY="-10" maxY="307" />
-<infoparam name="TGComponent" value="Channel temp" />
+<cdrectangleparam minX="-10" maxX="230" minY="-10" maxY="135" />
+<infoparam name="TGComponent" value="Event send_TCP" />
 <new d="false" />
-<TGConnectingPoint num="0" id="369" />
+<TGConnectingPoint num="0" id="359" />
 <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" vc="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" vc="0" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -1563,17 +1536,17 @@
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="372" index="80" uid="2809d85a-b499-4d55-b9b0-73145443c919" >
-<father id="383" num="14" />
-<cdparam x="1157" y="444" />
+<SUBCOMPONENT type="1203" id="362" index="79" uid="74f8e576-39f1-4b14-b063-5a54e6ae220a" >
+<father id="373" num="7" />
+<cdparam x="795" y="419" />
 <sizeparam width="21" height="21" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-10" maxX="226" minY="-10" maxY="307" />
-<infoparam name="TGComponent" value="Event stop" />
+<cdrectangleparam minX="-10" maxX="230" minY="-10" maxY="135" />
+<infoparam name="TGComponent" value="Channel fromTtoA" />
 <new d="false" />
-<TGConnectingPoint num="0" id="371" />
+<TGConnectingPoint num="0" id="361" />
 <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" vc="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" vc="0" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -1581,17 +1554,17 @@
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="374" index="81" uid="abe0de81-2013-4dfd-b858-2d214b7e97af" >
-<father id="383" num="15" />
-<cdparam x="1012" y="471" />
-<sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<SUBCOMPONENT type="1203" id="364" index="80" uid="7d3df878-1ac2-4cdc-9142-533434ec740f" >
+<father id="373" num="8" />
+<cdparam x="740" y="406" />
+<sizeparam width="21" height="21" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-13" maxX="223" minY="-13" maxY="304" />
-<infoparam name="Primitive port" value="Event opened" />
+<cdrectangleparam minX="-10" maxX="230" minY="-10" maxY="135" />
+<infoparam name="TGComponent" value="Request start_TCP_IP" />
 <new d="false" />
-<TGConnectingPoint num="0" id="373" />
+<TGConnectingPoint num="0" id="363" />
 <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" vc="0" />
+<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" vc="0" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -1599,6 +1572,33 @@
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
+<SUBCOMPONENT type="1201" id="392" index="81" uid="e4abad9b-e92a-4bef-8cf7-449544412e3e" >
+<father id="401" num="3" />
+<cdparam x="521" y="369" />
+<sizeparam width="26" height="26" minWidth="10" minHeight="10" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="-13" maxX="922" minY="-13" maxY="517" />
+<infoparam name="Composite port" value="" />
+<new d="false" />
+<TGConnectingPoint num="0" id="374" />
+<TGConnectingPoint num="1" id="375" />
+<TGConnectingPoint num="2" id="376" />
+<TGConnectingPoint num="3" id="377" />
+<TGConnectingPoint num="4" id="378" />
+<TGConnectingPoint num="5" id="379" />
+<TGConnectingPoint num="6" id="380" />
+<TGConnectingPoint num="7" id="381" />
+<TGConnectingPoint num="8" id="382" />
+<TGConnectingPoint num="9" id="383" />
+<TGConnectingPoint num="10" id="384" />
+<TGConnectingPoint num="11" id="385" />
+<TGConnectingPoint num="12" id="386" />
+<TGConnectingPoint num="13" id="387" />
+<TGConnectingPoint num="14" id="388" />
+<TGConnectingPoint num="15" id="389" />
+<TGConnectingPoint num="16" id="390" />
+<TGConnectingPoint num="17" id="391" />
+</SUBCOMPONENT>
 
 <COMPONENT type="1202" id="424" index="29" uid="e1e323d0-ec01-496d-b2c8-c213326e1b25" >
 <cdparam x="163" y="96" />
@@ -1624,18 +1624,17 @@
 <Attribute access="2" id="b" value="" type="4" typeOther="" />
 </extraparam>
 </COMPONENT>
-<SUBCOMPONENT type="1203" id="403" index="82" uid="75c20d6b-7dc3-408f-930b-351e50caf28a" >
+<SUBCOMPONENT type="1203" id="403" index="82" uid="c166e979-0203-47ed-8763-b3d5b78cc3bf" >
 <father id="424" num="0" />
-<reference id="184" />
-<cdparam x="388" y="83" />
-<sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="443" y="116" />
+<sizeparam width="21" height="21" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-13" maxX="277" minY="-13" maxY="263" />
-<infoparam name="TGComponent" value="Event reset, pTS, end" />
+<cdrectangleparam minX="-10" maxX="280" minY="-10" maxY="266" />
+<infoparam name="TGComponent" value="Request activation" />
 <new d="false" />
 <TGConnectingPoint num="0" id="402" />
 <extraparam>
-<Prop commName="reset, pTS, end" 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" vc="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" vc="0" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -1643,36 +1642,35 @@
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="405" index="83" uid="89e3c3bc-7446-4970-9c73-f7fe23e0d154" >
+<SUBCOMPONENT type="1203" id="405" index="83" uid="88db7ad2-2ed8-4e55-89f5-ff3c2bbc5716" >
 <father id="424" num="1" />
-<cdparam x="440" y="322" />
+<cdparam x="440" y="156" />
 <sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="-13" maxX="277" minY="-13" maxY="263" />
-<infoparam name="TGComponent" value="Event answerToReset, pTSConfirm" />
+<infoparam name="TGComponent" value="Event data_Ready" />
 <new d="false" />
 <TGConnectingPoint num="0" id="404" />
 <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" vc="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" vc="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="407" index="84" uid="8adbfdf8-ee28-4948-ad9f-4d2a3e7c71e7" >
+<SUBCOMPONENT type="1203" id="407" index="84" uid="d3c8365d-1997-422a-9ecd-20e57e3319a8" >
 <father id="424" num="2" />
-<reference id="184" />
-<cdparam x="440" y="247" />
+<cdparam x="440" y="290" />
 <sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="-13" maxX="277" minY="-13" maxY="263" />
-<infoparam name="TGComponent" value="Channel fromSCtoD" />
+<infoparam name="TGComponent" value="Event data_Ready_SC" />
 <new d="false" />
 <TGConnectingPoint num="0" id="406" />
 <extraparam>
-<Prop commName="fromSCtoD" commType="0" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="40" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="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" vc="0" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -1699,17 +1697,18 @@
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="411" index="86" uid="d3c8365d-1997-422a-9ecd-20e57e3319a8" >
+<SUBCOMPONENT type="1203" id="411" index="86" uid="8adbfdf8-ee28-4948-ad9f-4d2a3e7c71e7" >
 <father id="424" num="4" />
-<cdparam x="440" y="290" />
+<reference id="184" />
+<cdparam x="440" y="247" />
 <sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="-13" maxX="277" minY="-13" maxY="263" />
-<infoparam name="TGComponent" value="Event data_Ready_SC" />
+<infoparam name="TGComponent" value="Channel fromSCtoD" />
 <new d="false" />
 <TGConnectingPoint num="0" id="410" />
 <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" vc="0" />
+<Prop commName="fromSCtoD" commType="0" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="40" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="0" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -1717,35 +1716,36 @@
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="413" index="87" uid="88db7ad2-2ed8-4e55-89f5-ff3c2bbc5716" >
+<SUBCOMPONENT type="1203" id="413" index="87" uid="89e3c3bc-7446-4970-9c73-f7fe23e0d154" >
 <father id="424" num="5" />
-<cdparam x="440" y="156" />
+<cdparam x="440" y="322" />
 <sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="-13" maxX="277" minY="-13" maxY="263" />
-<infoparam name="TGComponent" value="Event data_Ready" />
+<infoparam name="TGComponent" value="Event answerToReset, pTSConfirm" />
 <new d="false" />
 <TGConnectingPoint num="0" id="412" />
 <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" vc="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" vc="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="415" index="88" uid="c166e979-0203-47ed-8763-b3d5b78cc3bf" >
+<SUBCOMPONENT type="1203" id="415" index="88" uid="75c20d6b-7dc3-408f-930b-351e50caf28a" >
 <father id="424" num="6" />
-<cdparam x="443" y="116" />
-<sizeparam width="21" height="21" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<reference id="184" />
+<cdparam x="388" y="83" />
+<sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-10" maxX="280" minY="-10" maxY="266" />
-<infoparam name="TGComponent" value="Request activation" />
+<cdrectangleparam minX="-13" maxX="277" minY="-13" maxY="263" />
+<infoparam name="TGComponent" value="Event reset, pTS, end" />
 <new d="false" />
 <TGConnectingPoint num="0" id="414" />
 <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" vc="0" />
+<Prop commName="reset, pTS, end" 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" vc="0" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -7646,13 +7646,13 @@ the smart card and the terminal
 <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" operation="" MECType="0" encryption="0"/>
 </extraparam>
 </COMPONENT>
-<SUBCOMPONENT type="1101" id="1670" index="5" uid="ecffd1a1-4411-4224-bfa8-769afb8711fe" >
+<SUBCOMPONENT type="1101" id="1670" index="5" uid="9028f3ac-537f-4db1-a86b-93d8a9e32603" >
 <father id="1731" num="0" />
-<cdparam x="226" y="304" />
-<sizeparam width="109" height="50" minWidth="75" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="92" y="154" />
+<sizeparam width="163" height="50" minWidth="75" minHeight="1" 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" />
+<cdrectangleparam minX="0" maxX="296" minY="0" maxY="271" />
+<infoparam name="TGComponent" value="AppC::InterfaceDevice" />
 <new d="false" />
 <TGConnectingPoint num="0" id="1662" />
 <TGConnectingPoint num="1" id="1663" />
@@ -7663,16 +7663,16 @@ the smart card and the terminal
 <TGConnectingPoint num="6" id="1668" />
 <TGConnectingPoint num="7" id="1669" />
 <extraparam>
-<info value="AppC::Timer" taskName="Timer" referenceTaskName="AppC" priority="0" operationMEC="" fatherComponentMECType="0" />
+<info value="AppC::InterfaceDevice" taskName="InterfaceDevice" referenceTaskName="AppC" priority="0" operationMEC="" fatherComponentMECType="0" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1101" id="1679" index="6" uid="299bfdcf-d688-4186-b51a-0eb056214e72" >
+<SUBCOMPONENT type="1101" id="1679" index="6" uid="d8c70891-4762-4c98-9c72-7162d178b01b" >
 <father id="1731" num="1" />
-<cdparam x="290" y="234" />
-<sizeparam width="139" height="50" minWidth="75" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="291" y="153" />
+<sizeparam width="136" height="50" minWidth="75" minHeight="1" 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" />
+<cdrectangleparam minX="0" maxX="323" minY="0" maxY="271" />
+<infoparam name="TGComponent" value="AppC::SmartCard" />
 <new d="false" />
 <TGConnectingPoint num="0" id="1671" />
 <TGConnectingPoint num="1" id="1672" />
@@ -7683,7 +7683,7 @@ the smart card and the terminal
 <TGConnectingPoint num="6" id="1677" />
 <TGConnectingPoint num="7" id="1678" />
 <extraparam>
-<info value="AppC::Application" taskName="Application" referenceTaskName="AppC" priority="0" operationMEC="" fatherComponentMECType="0" />
+<info value="AppC::SmartCard" taskName="SmartCard" referenceTaskName="AppC" priority="0" operationMEC="" fatherComponentMECType="0" />
 </extraparam>
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1101" id="1688" index="7" uid="b718c695-f368-4105-92ce-76b01823e929" >
@@ -7706,13 +7706,13 @@ the smart card and the terminal
 <info value="AppC::TCPIP" taskName="TCPIP" referenceTaskName="AppC" priority="0" operationMEC="" fatherComponentMECType="0" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1101" id="1697" index="8" uid="d8c70891-4762-4c98-9c72-7162d178b01b" >
+<SUBCOMPONENT type="1101" id="1697" index="8" uid="299bfdcf-d688-4186-b51a-0eb056214e72" >
 <father id="1731" num="3" />
-<cdparam x="291" y="153" />
-<sizeparam width="136" height="50" minWidth="75" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="290" y="234" />
+<sizeparam width="139" height="50" minWidth="75" minHeight="1" 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" />
+<cdrectangleparam minX="0" maxX="320" minY="0" maxY="271" />
+<infoparam name="TGComponent" value="AppC::Application" />
 <new d="false" />
 <TGConnectingPoint num="0" id="1689" />
 <TGConnectingPoint num="1" id="1690" />
@@ -7723,16 +7723,16 @@ the smart card and the terminal
 <TGConnectingPoint num="6" id="1695" />
 <TGConnectingPoint num="7" id="1696" />
 <extraparam>
-<info value="AppC::SmartCard" taskName="SmartCard" referenceTaskName="AppC" priority="0" operationMEC="" fatherComponentMECType="0" />
+<info value="AppC::Application" taskName="Application" referenceTaskName="AppC" priority="0" operationMEC="" fatherComponentMECType="0" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1101" id="1706" index="9" uid="9028f3ac-537f-4db1-a86b-93d8a9e32603" >
+<SUBCOMPONENT type="1101" id="1706" index="9" uid="ecffd1a1-4411-4224-bfa8-769afb8711fe" >
 <father id="1731" num="4" />
-<cdparam x="92" y="154" />
-<sizeparam width="163" height="50" minWidth="75" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="226" y="304" />
+<sizeparam width="109" height="50" minWidth="75" minHeight="1" 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" />
+<cdrectangleparam minX="0" maxX="350" minY="0" maxY="271" />
+<infoparam name="TGComponent" value="AppC::Timer" />
 <new d="false" />
 <TGConnectingPoint num="0" id="1698" />
 <TGConnectingPoint num="1" id="1699" />
@@ -7743,7 +7743,7 @@ the smart card and the terminal
 <TGConnectingPoint num="6" id="1704" />
 <TGConnectingPoint num="7" id="1705" />
 <extraparam>
-<info value="AppC::InterfaceDevice" taskName="InterfaceDevice" referenceTaskName="AppC" priority="0" operationMEC="" fatherComponentMECType="0" />
+<info value="AppC::Timer" taskName="Timer" referenceTaskName="AppC" priority="0" operationMEC="" fatherComponentMECType="0" />
 </extraparam>
 </SUBCOMPONENT>
 
@@ -8007,13 +8007,13 @@ the smart card and the terminal
 <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" operation="" MECType="0" encryption="0"/>
 </extraparam>
 </COMPONENT>
-<SUBCOMPONENT type="1101" id="1860" index="11" uid="532905f8-f56a-47a7-bb31-02c1d4b68743" >
+<SUBCOMPONENT type="1101" id="1860" index="11" uid="c5fda7f7-6ed5-4d2e-bfd7-109321d6eb15" >
 <father id="1903" num="0" />
-<cdparam x="392" y="119" />
-<sizeparam width="136" height="37" minWidth="75" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="277" y="90" />
+<sizeparam width="108" height="40" minWidth="75" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="136" minY="0" maxY="130" />
-<infoparam name="TGComponent" value="AppC::SmartCard" />
+<cdrectangleparam minX="0" maxX="164" minY="0" maxY="127" />
+<infoparam name="TGComponent" value="AppC::TCPIP" />
 <new d="false" />
 <TGConnectingPoint num="0" id="1852" />
 <TGConnectingPoint num="1" id="1853" />
@@ -8024,7 +8024,7 @@ the smart card and the terminal
 <TGConnectingPoint num="6" id="1858" />
 <TGConnectingPoint num="7" id="1859" />
 <extraparam>
-<info value="AppC::SmartCard" taskName="SmartCard" referenceTaskName="AppC" priority="0" operationMEC="" fatherComponentMECType="0" />
+<info value="AppC::TCPIP" taskName="TCPIP" referenceTaskName="AppC" priority="0" operationMEC="" fatherComponentMECType="0" />
 </extraparam>
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1101" id="1869" index="12" uid="447a1c43-60f3-41a0-9de1-ca6e0adb40f9" >
@@ -8047,13 +8047,13 @@ the smart card and the terminal
 <info value="AppC::Application" taskName="Application" referenceTaskName="AppC" priority="0" operationMEC="" fatherComponentMECType="0" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1101" id="1878" index="13" uid="c5fda7f7-6ed5-4d2e-bfd7-109321d6eb15" >
+<SUBCOMPONENT type="1101" id="1878" index="13" uid="532905f8-f56a-47a7-bb31-02c1d4b68743" >
 <father id="1903" num="2" />
-<cdparam x="277" y="90" />
-<sizeparam width="108" height="40" minWidth="75" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="392" y="119" />
+<sizeparam width="136" height="37" minWidth="75" minHeight="1" 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" />
+<cdrectangleparam minX="0" maxX="136" minY="0" maxY="130" />
+<infoparam name="TGComponent" value="AppC::SmartCard" />
 <new d="false" />
 <TGConnectingPoint num="0" id="1870" />
 <TGConnectingPoint num="1" id="1871" />
@@ -8064,7 +8064,7 @@ the smart card and the terminal
 <TGConnectingPoint num="6" id="1876" />
 <TGConnectingPoint num="7" id="1877" />
 <extraparam>
-<info value="AppC::TCPIP" taskName="TCPIP" referenceTaskName="AppC" priority="0" operationMEC="" fatherComponentMECType="0" />
+<info value="AppC::SmartCard" taskName="SmartCard" referenceTaskName="AppC" priority="0" operationMEC="" fatherComponentMECType="0" />
 </extraparam>
 </SUBCOMPONENT>
 
@@ -8428,13 +8428,13 @@ the smart card and the terminal
 <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" operation="" MECType="0" encryption="0"/>
 </extraparam>
 </COMPONENT>
-<SUBCOMPONENT type="1101" id="2084" index="19" uid="2a92c12b-b7f2-4ab3-8024-e570772c48dd" >
+<SUBCOMPONENT type="1101" id="2084" index="19" uid="f139786a-f028-4dc6-a65c-7f26defd1299" >
 <father id="2127" num="0" />
-<cdparam x="277" y="90" />
-<sizeparam width="108" height="40" minWidth="75" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="392" y="119" />
+<sizeparam width="136" height="37" minWidth="75" minHeight="1" 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" />
+<cdrectangleparam minX="0" maxX="136" minY="0" maxY="130" />
+<infoparam name="TGComponent" value="AppC::SmartCard" />
 <new d="false" />
 <TGConnectingPoint num="0" id="2076" />
 <TGConnectingPoint num="1" id="2077" />
@@ -8445,7 +8445,7 @@ the smart card and the terminal
 <TGConnectingPoint num="6" id="2082" />
 <TGConnectingPoint num="7" id="2083" />
 <extraparam>
-<info value="AppC::TCPIP" taskName="TCPIP" referenceTaskName="AppC" priority="0" operationMEC="" fatherComponentMECType="0" />
+<info value="AppC::SmartCard" taskName="SmartCard" referenceTaskName="AppC" priority="0" operationMEC="" fatherComponentMECType="0" />
 </extraparam>
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1101" id="2093" index="20" uid="63ad3664-ecde-4f22-8554-31de2880cc0b" >
@@ -8468,13 +8468,13 @@ the smart card and the terminal
 <info value="AppC::Application" taskName="Application" referenceTaskName="AppC" priority="0" operationMEC="" fatherComponentMECType="0" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1101" id="2102" index="21" uid="f139786a-f028-4dc6-a65c-7f26defd1299" >
+<SUBCOMPONENT type="1101" id="2102" index="21" uid="2a92c12b-b7f2-4ab3-8024-e570772c48dd" >
 <father id="2127" num="2" />
-<cdparam x="392" y="119" />
-<sizeparam width="136" height="37" minWidth="75" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="277" y="90" />
+<sizeparam width="108" height="40" minWidth="75" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="136" minY="0" maxY="130" />
-<infoparam name="TGComponent" value="AppC::SmartCard" />
+<cdrectangleparam minX="0" maxX="164" minY="0" maxY="127" />
+<infoparam name="TGComponent" value="AppC::TCPIP" />
 <new d="false" />
 <TGConnectingPoint num="0" id="2094" />
 <TGConnectingPoint num="1" id="2095" />
@@ -8485,7 +8485,7 @@ the smart card and the terminal
 <TGConnectingPoint num="6" id="2100" />
 <TGConnectingPoint num="7" id="2101" />
 <extraparam>
-<info value="AppC::SmartCard" taskName="SmartCard" referenceTaskName="AppC" priority="0" operationMEC="" fatherComponentMECType="0" />
+<info value="AppC::TCPIP" taskName="TCPIP" referenceTaskName="AppC" priority="0" operationMEC="" fatherComponentMECType="0" />
 </extraparam>
 </SUBCOMPONENT>
 
@@ -8848,13 +8848,13 @@ the smart card and the terminal
 <Signal value="out chout(Message msg)" attached="true" />
 </extraparam>
 </COMPONENT>
-<SUBCOMPONENT type="5000" id="2267" index="7" uid="3a9a4759-3ef1-462c-b5af-13d2bb1f76f4" >
+<SUBCOMPONENT type="5000" id="2267" index="7" uid="b97ef200-9c06-4314-9ca2-59633cc03a61" >
 <father id="2349" num="0" />
-<cdparam x="36" y="233" />
-<sizeparam width="215" height="126" minWidth="5" minHeight="2" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="263" y="233" />
+<sizeparam width="139" height="126" minWidth="5" minHeight="2" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="223" minY="0" maxY="93" />
-<infoparam name="Block0" value="InterfaceDevice" />
+<cdrectangleparam minX="0" maxX="299" minY="0" maxY="93" />
+<infoparam name="Block0" value="SmartCard" />
 <new d="false" />
 <TGConnectingPoint num="0" id="2227" />
 <TGConnectingPoint num="1" id="2228" />
@@ -8899,10 +8899,10 @@ the smart card and the terminal
 <extraparam>
 <blockType data="cryptoblock" color="-4072719" />
 <CryptoBlock value="true" />
-<Attribute access="0" var="0" id="secretData" value="" type="8" typeOther="" />
 <Attribute access="0" var="0" id="m" value="" type="5" typeOther="Message" />
-<Attribute access="0" var="0" id="m1" value="" type="5" typeOther="Message" />
+<Attribute access="0" var="0" id="m2" value="" type="5" typeOther="Message" />
 <Attribute access="0" var="0" id="sk" value="" type="5" typeOther="Key" />
+<Attribute access="0" var="0" id="receivedData" value="" type="8" typeOther="" />
 <Method value="Message encrypt(Message msg, Key k)" />
 <Method value="Message decrypt(Message msg, Key k)" />
 <Method value="Message sencrypt(Message msg, Key k)" />
@@ -8929,13 +8929,13 @@ the smart card and the terminal
 <Method value="Key getKey(Message msg)" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="5000" id="2308" index="8" uid="b97ef200-9c06-4314-9ca2-59633cc03a61" >
+<SUBCOMPONENT type="5000" id="2308" index="8" uid="3a9a4759-3ef1-462c-b5af-13d2bb1f76f4" >
 <father id="2349" num="1" />
-<cdparam x="263" y="233" />
-<sizeparam width="139" height="126" minWidth="5" minHeight="2" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="36" y="233" />
+<sizeparam width="215" height="126" minWidth="5" minHeight="2" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="299" minY="0" maxY="93" />
-<infoparam name="Block0" value="SmartCard" />
+<cdrectangleparam minX="0" maxX="223" minY="0" maxY="93" />
+<infoparam name="Block0" value="InterfaceDevice" />
 <new d="false" />
 <TGConnectingPoint num="0" id="2268" />
 <TGConnectingPoint num="1" id="2269" />
@@ -8980,10 +8980,10 @@ the smart card and the terminal
 <extraparam>
 <blockType data="cryptoblock" color="-4072719" />
 <CryptoBlock value="true" />
+<Attribute access="0" var="0" id="secretData" value="" type="8" typeOther="" />
 <Attribute access="0" var="0" id="m" value="" type="5" typeOther="Message" />
-<Attribute access="0" var="0" id="m2" value="" type="5" typeOther="Message" />
+<Attribute access="0" var="0" id="m1" value="" type="5" typeOther="Message" />
 <Attribute access="0" var="0" id="sk" value="" type="5" typeOther="Key" />
-<Attribute access="0" var="0" id="receivedData" value="" type="8" typeOther="" />
 <Method value="Message encrypt(Message msg, Key k)" />
 <Method value="Message decrypt(Message msg, Key k)" />
 <Method value="Message sencrypt(Message msg, Key k)" />
@@ -10228,13 +10228,13 @@ the smart card and the terminal
 <Signal value="out chout(Message msg)" attached="true" />
 </extraparam>
 </COMPONENT>
-<SUBCOMPONENT type="5000" id="3042" index="7" uid="73fbb74a-ba35-4eb3-b00b-7b24bca31dbf" >
+<SUBCOMPONENT type="5000" id="3042" index="7" uid="d40cb761-25c8-45de-ab37-d8497b3ee994" >
 <father id="3124" num="0" />
-<cdparam x="263" y="233" />
-<sizeparam width="139" height="126" minWidth="5" minHeight="2" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="36" y="233" />
+<sizeparam width="215" height="126" minWidth="5" minHeight="2" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="299" minY="0" maxY="93" />
-<infoparam name="Block0" value="SmartCard" />
+<cdrectangleparam minX="0" maxX="223" minY="0" maxY="93" />
+<infoparam name="Block0" value="InterfaceDevice" />
 <new d="false" />
 <TGConnectingPoint num="0" id="3002" />
 <TGConnectingPoint num="1" id="3003" />
@@ -10279,13 +10279,13 @@ the smart card and the terminal
 <extraparam>
 <blockType data="cryptoblock" color="-4072719" />
 <CryptoBlock value="true" />
+<Attribute access="0" var="0" id="secretData" value="" type="8" typeOther="" />
 <Attribute access="0" var="0" id="m" value="" type="5" typeOther="Message" />
-<Attribute access="0" var="0" id="m2" value="" type="5" typeOther="Message" />
+<Attribute access="0" var="0" id="m1" value="" type="5" typeOther="Message" />
 <Attribute access="0" var="0" id="sk" value="" type="5" typeOther="Key" />
-<Attribute access="0" var="0" id="receivedData" value="" type="8" typeOther="" />
-<Attribute access="0" var="0" id="privK" value="" type="5" typeOther="Key" />
 <Attribute access="0" var="0" id="pubK" value="" type="5" typeOther="Key" />
-<Attribute access="0" var="0" id="alicePubK" value="" type="5" typeOther="Key" />
+<Attribute access="0" var="0" id="privK" value="" type="5" typeOther="Key" />
+<Attribute access="0" var="0" id="bobPubK" value="" type="5" typeOther="Key" />
 <Method value="Message encrypt(Message msg, Key k)" />
 <Method value="Message decrypt(Message msg, Key k)" />
 <Method value="Message sencrypt(Message msg, Key k)" />
@@ -10312,13 +10312,13 @@ the smart card and the terminal
 <Method value="Key getKey(Message msg)" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="5000" id="3083" index="8" uid="d40cb761-25c8-45de-ab37-d8497b3ee994" >
+<SUBCOMPONENT type="5000" id="3083" index="8" uid="73fbb74a-ba35-4eb3-b00b-7b24bca31dbf" >
 <father id="3124" num="1" />
-<cdparam x="36" y="233" />
-<sizeparam width="215" height="126" minWidth="5" minHeight="2" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="263" y="233" />
+<sizeparam width="139" height="126" minWidth="5" minHeight="2" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="223" minY="0" maxY="93" />
-<infoparam name="Block0" value="InterfaceDevice" />
+<cdrectangleparam minX="0" maxX="299" minY="0" maxY="93" />
+<infoparam name="Block0" value="SmartCard" />
 <new d="false" />
 <TGConnectingPoint num="0" id="3043" />
 <TGConnectingPoint num="1" id="3044" />
@@ -10363,13 +10363,13 @@ the smart card and the terminal
 <extraparam>
 <blockType data="cryptoblock" color="-4072719" />
 <CryptoBlock value="true" />
-<Attribute access="0" var="0" id="secretData" value="" type="8" typeOther="" />
 <Attribute access="0" var="0" id="m" value="" type="5" typeOther="Message" />
-<Attribute access="0" var="0" id="m1" value="" type="5" typeOther="Message" />
+<Attribute access="0" var="0" id="m2" value="" type="5" typeOther="Message" />
 <Attribute access="0" var="0" id="sk" value="" type="5" typeOther="Key" />
-<Attribute access="0" var="0" id="pubK" value="" type="5" typeOther="Key" />
+<Attribute access="0" var="0" id="receivedData" value="" type="8" typeOther="" />
 <Attribute access="0" var="0" id="privK" value="" type="5" typeOther="Key" />
-<Attribute access="0" var="0" id="bobPubK" value="" type="5" typeOther="Key" />
+<Attribute access="0" var="0" id="pubK" value="" type="5" typeOther="Key" />
+<Attribute access="0" var="0" id="alicePubK" value="" type="5" typeOther="Key" />
 <Method value="Message encrypt(Message msg, Key k)" />
 <Method value="Message decrypt(Message msg, Key k)" />
 <Method value="Message sencrypt(Message msg, Key k)" />
@@ -12368,13 +12368,13 @@ the smart card and the terminal
 <Signal value="out chout(Message msg)" attached="true" />
 </extraparam>
 </COMPONENT>
-<SUBCOMPONENT type="5000" id="4227" index="9" uid="853f43ef-9a65-435b-b5e5-e4730fcec2b5" >
+<SUBCOMPONENT type="5000" id="4227" index="9" uid="0c82d7da-07c1-446b-a875-20841e83313a" >
 <father id="4350" num="0" />
-<cdparam x="115" y="249" />
-<sizeparam width="261" height="83" minWidth="5" minHeight="2" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="263" y="108" />
+<sizeparam width="139" height="126" minWidth="5" minHeight="2" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="177" minY="0" maxY="261" />
-<infoparam name="Block0" value="CA" />
+<cdrectangleparam minX="0" maxX="299" minY="0" maxY="218" />
+<infoparam name="Block0" value="SmartCard" />
 <new d="false" />
 <TGConnectingPoint num="0" id="4187" />
 <TGConnectingPoint num="1" id="4188" />
@@ -12419,30 +12419,23 @@ the smart card and the terminal
 <extraparam>
 <blockType data="cryptoblock" color="-4072719" />
 <CryptoBlock value="true" />
+<Attribute access="0" var="0" id="m" value="" type="5" typeOther="Message" />
+<Attribute access="0" var="0" id="m2" value="" type="5" typeOther="Message" />
+<Attribute access="0" var="0" id="sk" value="" type="5" typeOther="Key" />
+<Attribute access="0" var="0" id="receivedData" value="" type="8" typeOther="" />
 <Attribute access="0" var="0" id="privK" value="" type="5" typeOther="Key" />
 <Attribute access="0" var="0" id="pubK" value="" type="5" typeOther="Key" />
-<Attribute access="0" var="0" id="m" value="" type="5" typeOther="Message" />
-<Attribute access="0" var="0" id="newK" value="" type="5" typeOther="Key" />
-<Attribute access="0" var="0" id="newCert" value="" type="5" typeOther="Message" />
+<Attribute access="0" var="0" id="alicePubK" value="" type="5" typeOther="Key" />
+<Attribute access="0" var="0" id="CAPubK" value="" type="5" typeOther="Key" />
 <Attribute access="0" var="0" id="m1" value="" type="5" typeOther="Message" />
-<Attribute access="0" var="0" id="m2" value="" type="5" typeOther="Message" />
-<Attribute access="0" var="0" id="newID" value="" type="8" typeOther="" />
-<Attribute access="0" var="0" id="interfaceDevicePubK" value="" type="5" typeOther="Key" />
-<Attribute access="0" var="0" id="smartCardPubK" value="" type="5" typeOther="Key" />
+<Attribute access="0" var="0" id="sig" value="" type="5" typeOther="Message" />
+<Attribute access="0" var="0" id="certOK" value="" type="4" typeOther="" />
 <Attribute access="0" var="0" id="interfaceDeviceID" value="" type="8" typeOther="" />
-<Attribute access="0" var="0" id="smartCardID" value="" type="8" typeOther="" />
-<Method value="Message aencrypt(Message msg, Key k)" />
-<Method value="Message adecrypt(Message msg, Key k)" />
-<Method value="Key pk(Key k)" />
-<Method value="Message sign(Message msg, Key k)" />
-<Method value="bool verifySign(Message msg1, Message sig, Key k)" />
-<Method value="Message cert(Key k, Message msg)" />
-<Method value="bool verifyCert(Message cert, Key k)" />
-<Method value="Key getpk(Message cert)" />
+<Attribute access="0" var="0" id="interfaceDevicePubK" value="" type="5" typeOther="Key" />
+<Method value="Message encrypt(Message msg, Key k)" />
+<Method value="Message decrypt(Message msg, Key k)" />
 <Method value="Message sencrypt(Message msg, Key k)" />
 <Method value="Message sdecrypt(Message msg, Key k)" />
-<Method value="Key DH(Key pubK, Key privK)" />
-<Method value="Message hash(Message msg)" />
 <Method value="Message MAC(Message msg, Key k)" />
 <Method value="bool verifyMAC(Message msg, Key k, Message macmsg)" />
 <Method value="Message concat2(Message msg1, Message msg2)" />
@@ -12451,6 +12444,16 @@ the smart card and the terminal
 <Method value="get2(Message msg, Message msg1, Message msg2)" />
 <Method value="get3(Message msg, Message msg1, Message msg2, Message msg3)" />
 <Method value="get4(Message msg, Message msg1, Message msg2, Message msg3, Message msg4)" />
+<Method value="Message aencrypt(Message msg, Key k)" />
+<Method value="Message adecrypt(Message msg, Key k)" />
+<Method value="Key pk(Key k)" />
+<Method value="Message sign(Message msg, Key k)" />
+<Method value="bool verifySign(Message msg1, Message sig, Key k)" />
+<Method value="Message cert(Key k, Message msg)" />
+<Method value="bool verifyCert(Message cert, Key k)" />
+<Method value="Key getpk(Message cert)" />
+<Method value="Key DH(Key pubK, Key privK)" />
+<Method value="Message hash(Message msg)" />
 <Method value="Message host(Key k)" />
 <Method value="Key getKey(Message msg)" />
 </extraparam>
@@ -12544,13 +12547,13 @@ the smart card and the terminal
 <Method value="Key getKey(Message msg)" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="5000" id="4309" index="11" uid="0c82d7da-07c1-446b-a875-20841e83313a" >
+<SUBCOMPONENT type="5000" id="4309" index="11" uid="853f43ef-9a65-435b-b5e5-e4730fcec2b5" >
 <father id="4350" num="2" />
-<cdparam x="263" y="108" />
-<sizeparam width="139" height="126" minWidth="5" minHeight="2" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="115" y="249" />
+<sizeparam width="261" height="83" minWidth="5" minHeight="2" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="299" minY="0" maxY="218" />
-<infoparam name="Block0" value="SmartCard" />
+<cdrectangleparam minX="0" maxX="177" minY="0" maxY="261" />
+<infoparam name="Block0" value="CA" />
 <new d="false" />
 <TGConnectingPoint num="0" id="4269" />
 <TGConnectingPoint num="1" id="4270" />
@@ -12595,31 +12598,18 @@ the smart card and the terminal
 <extraparam>
 <blockType data="cryptoblock" color="-4072719" />
 <CryptoBlock value="true" />
-<Attribute access="0" var="0" id="m" value="" type="5" typeOther="Message" />
-<Attribute access="0" var="0" id="m2" value="" type="5" typeOther="Message" />
-<Attribute access="0" var="0" id="sk" value="" type="5" typeOther="Key" />
-<Attribute access="0" var="0" id="receivedData" value="" type="8" typeOther="" />
 <Attribute access="0" var="0" id="privK" value="" type="5" typeOther="Key" />
 <Attribute access="0" var="0" id="pubK" value="" type="5" typeOther="Key" />
-<Attribute access="0" var="0" id="alicePubK" value="" type="5" typeOther="Key" />
-<Attribute access="0" var="0" id="CAPubK" value="" type="5" typeOther="Key" />
+<Attribute access="0" var="0" id="m" value="" type="5" typeOther="Message" />
+<Attribute access="0" var="0" id="newK" value="" type="5" typeOther="Key" />
+<Attribute access="0" var="0" id="newCert" value="" type="5" typeOther="Message" />
 <Attribute access="0" var="0" id="m1" value="" type="5" typeOther="Message" />
-<Attribute access="0" var="0" id="sig" value="" type="5" typeOther="Message" />
-<Attribute access="0" var="0" id="certOK" value="" type="4" typeOther="" />
-<Attribute access="0" var="0" id="interfaceDeviceID" value="" type="8" typeOther="" />
+<Attribute access="0" var="0" id="m2" value="" type="5" typeOther="Message" />
+<Attribute access="0" var="0" id="newID" value="" type="8" typeOther="" />
 <Attribute access="0" var="0" id="interfaceDevicePubK" value="" type="5" typeOther="Key" />
-<Method value="Message encrypt(Message msg, Key k)" />
-<Method value="Message decrypt(Message msg, Key k)" />
-<Method value="Message sencrypt(Message msg, Key k)" />
-<Method value="Message sdecrypt(Message msg, Key k)" />
-<Method value="Message MAC(Message msg, Key k)" />
-<Method value="bool verifyMAC(Message msg, Key k, Message macmsg)" />
-<Method value="Message concat2(Message msg1, Message msg2)" />
-<Method value="Message concat3(Message msg1, Message msg2, Message msg3)" />
-<Method value="Message concat4(Message msg1, Message msg2, Message msg3, Message msg4)" />
-<Method value="get2(Message msg, Message msg1, Message msg2)" />
-<Method value="get3(Message msg, Message msg1, Message msg2, Message msg3)" />
-<Method value="get4(Message msg, Message msg1, Message msg2, Message msg3, Message msg4)" />
+<Attribute access="0" var="0" id="smartCardPubK" value="" type="5" typeOther="Key" />
+<Attribute access="0" var="0" id="interfaceDeviceID" value="" type="8" typeOther="" />
+<Attribute access="0" var="0" id="smartCardID" value="" type="8" typeOther="" />
 <Method value="Message aencrypt(Message msg, Key k)" />
 <Method value="Message adecrypt(Message msg, Key k)" />
 <Method value="Key pk(Key k)" />
@@ -12628,8 +12618,18 @@ the smart card and the terminal
 <Method value="Message cert(Key k, Message msg)" />
 <Method value="bool verifyCert(Message cert, Key k)" />
 <Method value="Key getpk(Message cert)" />
+<Method value="Message sencrypt(Message msg, Key k)" />
+<Method value="Message sdecrypt(Message msg, Key k)" />
 <Method value="Key DH(Key pubK, Key privK)" />
 <Method value="Message hash(Message msg)" />
+<Method value="Message MAC(Message msg, Key k)" />
+<Method value="bool verifyMAC(Message msg, Key k, Message macmsg)" />
+<Method value="Message concat2(Message msg1, Message msg2)" />
+<Method value="Message concat3(Message msg1, Message msg2, Message msg3)" />
+<Method value="Message concat4(Message msg1, Message msg2, Message msg3, Message msg4)" />
+<Method value="get2(Message msg, Message msg1, Message msg2)" />
+<Method value="get3(Message msg, Message msg1, Message msg2, Message msg3)" />
+<Method value="get4(Message msg, Message msg1, Message msg2, Message msg3, Message msg4)" />
 <Method value="Message host(Key k)" />
 <Method value="Key getKey(Message msg)" />
 </extraparam>
@@ -12790,13 +12790,13 @@ the smart card and the terminal
 <TGConnectingPoint num="19" id="4425" />
 <TGConnectingPoint num="20" id="4426" />
 </COMPONENT>
-<SUBCOMPONENT type="5707" id="4403" index="25" uid="8928a8fc-afed-495d-a724-110c36ecf758" >
+<SUBCOMPONENT type="5707" id="4403" index="25" uid="690f3a13-38fa-491e-a1d9-475e22bd49d3" >
 <father id="4427" num="0" />
-<cdparam x="804" y="432" />
+<cdparam x="804" y="456" />
 <sizeparam width="8" height="8" minWidth="8" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="1005" maxX="1005" minY="540" maxY="540" />
-<infoparam name="value " value="BasicSecurityProtocol" />
+<cdrectangleparam minX="1005" maxX="1005" minY="570" maxY="570" />
+<infoparam name="value " value="DHWithCertificateSecurityProtocol" />
 <new d="false" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="5707" id="4404" index="26" uid="373dc545-58ff-45fa-898f-9765803e9b50" >
@@ -12808,13 +12808,13 @@ the smart card and the terminal
 <infoparam name="value " value="DHSecurityProtocol" />
 <new d="false" />
 </SUBCOMPONENT>
-<SUBCOMPONENT type="5707" id="4405" index="27" uid="690f3a13-38fa-491e-a1d9-475e22bd49d3" >
+<SUBCOMPONENT type="5707" id="4405" index="27" uid="8928a8fc-afed-495d-a724-110c36ecf758" >
 <father id="4427" num="2" />
-<cdparam x="804" y="456" />
+<cdparam x="804" y="432" />
 <sizeparam width="8" height="8" minWidth="8" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="1005" maxX="1005" minY="570" maxY="570" />
-<infoparam name="value " value="DHWithCertificateSecurityProtocol" />
+<cdrectangleparam minX="1005" maxX="1005" minY="540" maxY="540" />
+<infoparam name="value " value="BasicSecurityProtocol" />
 <new d="false" />
 </SUBCOMPONENT>
 
@@ -12937,13 +12937,13 @@ the smart card and the terminal
 <TGConnectingPoint num="19" id="4516" />
 <TGConnectingPoint num="20" id="4517" />
 </COMPONENT>
-<SUBCOMPONENT type="5707" id="4494" index="28" uid="f2278aec-ecfa-4232-8eae-4675a725091d" >
+<SUBCOMPONENT type="5707" id="4494" index="28" uid="b055970f-f30c-40cb-84f3-9ca33e58140c" >
 <father id="4518" num="0" />
-<cdparam x="924" y="112" />
+<cdparam x="924" y="136" />
 <sizeparam width="8" height="8" minWidth="8" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="1155" maxX="1155" minY="140" maxY="140" />
-<infoparam name="value " value="Mapping1" />
+<cdrectangleparam minX="1155" maxX="1155" minY="170" maxY="170" />
+<infoparam name="value " value="Mapping2_Sec" />
 <new d="false" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="5707" id="4495" index="29" uid="9997b162-cd52-405c-b035-6a7def251dbd" >
@@ -12955,13 +12955,13 @@ the smart card and the terminal
 <infoparam name="value " value="Mapping2" />
 <new d="false" />
 </SUBCOMPONENT>
-<SUBCOMPONENT type="5707" id="4496" index="30" uid="b055970f-f30c-40cb-84f3-9ca33e58140c" >
+<SUBCOMPONENT type="5707" id="4496" index="30" uid="f2278aec-ecfa-4232-8eae-4675a725091d" >
 <father id="4518" num="2" />
-<cdparam x="924" y="136" />
+<cdparam x="924" y="112" />
 <sizeparam width="8" height="8" minWidth="8" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="1155" maxX="1155" minY="170" maxY="170" />
-<infoparam name="value " value="Mapping2_Sec" />
+<cdrectangleparam minX="1155" maxX="1155" minY="140" maxY="140" />
+<infoparam name="value " value="Mapping1" />
 <new d="false" />
 </SUBCOMPONENT>
 
diff --git a/src/main/java/tmltranslator/TMLMapping.java b/src/main/java/tmltranslator/TMLMapping.java
index db611e2227..8a2d349041 100755
--- a/src/main/java/tmltranslator/TMLMapping.java
+++ b/src/main/java/tmltranslator/TMLMapping.java
@@ -892,8 +892,19 @@ public class TMLMapping<E> {
 
     public void removeForksAndJoins() {
         TraceManager.addDev("\n\nRemove fork and join in MAPPING. Current nb of tasks:" + tmlm.getTasks().size());
-        if (tmlm != null) {
-            tmlm.removeForksAndJoins();
+        if (tmlm == null) {
+            return;
+        }
+
+        HashMap<TMLChannel, List<TMLChannel>> mapOfChannels = tmlm.removeForksAndJoins();
+
+        TraceManager.addDev("Doing the mapping of new channels");
+        for(TMLChannel ch: mapOfChannels.keySet()) {
+            for(TMLChannel toMap : mapOfChannels.get(ch)) {
+                for(HwCommunicationNode node: getAllCommunicationNodesOfChannel(ch)) {
+                    addCommToHwCommNode(toMap, node);
+                }
+            }
         }
 
         TMLChannel chan;
@@ -957,6 +968,8 @@ public class TMLMapping<E> {
             }
         }
 
+        // We also need to map the new channels
+
     }
 
     public void handleCPs() {
diff --git a/src/main/java/tmltranslator/TMLModeling.java b/src/main/java/tmltranslator/TMLModeling.java
index e0fe19e99a..71775e10ef 100755
--- a/src/main/java/tmltranslator/TMLModeling.java
+++ b/src/main/java/tmltranslator/TMLModeling.java
@@ -523,6 +523,14 @@ public class TMLModeling<E> {
         return null;
     }
 
+    public String getChannelNames() {
+        String names = "";
+        for (TMLChannel ch: channels) {
+            names += " " + ch.getName();
+        }
+        return names.trim();
+    }
+
     public TMLElement getCommunicationElementByName(String _name) {
         TMLChannel ch = getChannelByName(_name);
         if (ch != null) {
@@ -2287,26 +2295,36 @@ public class TMLModeling<E> {
     }
 
 
-    public void removeForksAndJoins() {
+    public HashMap<TMLChannel, List<TMLChannel>> removeForksAndJoins() {
 
         TraceManager.addDev("\n\n**** Remove forks and joins\n");
         //Exception e = new Exception(); e.printStackTrace();
 
-        removeForks();
-        removeJoins();
+        HashMap<TMLChannel, List<TMLChannel>> mapOfChannels = new HashMap<>();
+
+        removeForks(mapOfChannels);
+        removeJoins(mapOfChannels);
+
+        return mapOfChannels;
     }
 
     // Channels with one origin and several destinations
     // Add a task at sending side
     // Channel is transformed into something else ...
-    public void removeForks() {
+    public void removeForks(HashMap<TMLChannel, List<TMLChannel>> mapOfChannels) {
         int id = 0;
         // Create new basic channels and tasks
         ArrayList<TMLChannel> newChannels = new ArrayList<TMLChannel>();
         for (TMLChannel channel : channels) {
+            TraceManager.addDev("Investigating channel: " + channel.getChannelName());
             if (channel.isAForkChannel()) {
-                removeFork(channel, newChannels, id);
+                TraceManager.addDev("** " +
+                        "Forchannel: " + channel.getChannelName());
+                ArrayList<TMLChannel> localChannels = new ArrayList<TMLChannel>();
+                removeFork(channel, localChannels, id);
                 id ++;
+                mapOfChannels.put(channel, localChannels);
+                newChannels.addAll(localChannels);
             }
         }
 
@@ -2346,17 +2364,27 @@ public class TMLModeling<E> {
 
         // Create the new (basic) channels. The first branch of the fork is reused, others are created
         int nb = _ch.getDestinationTasks().size();
+        String top = _ch.getName();
+        int index = top.indexOf("__");
+        if (index > 0) {
+            top = top.substring(0, index);
+        }
         TMLChannel[] chans = new TMLChannel[nb];
         for (i = 0; i < nb; i++) {
-            chans[i] = new TMLChannel("forkch" + id + "_out_" + i, _ch.getReferenceObject());
+            chans[i] = new TMLChannel(top + "__forkch" + id + "_out_" + i, _ch.getReferenceObject());
             chans[i].setTasks(forkTask, _ch.getDestinationTasks().get(i));
-            chans[i].setPorts(new TMLPort("forkch" + id + "_out_" + i, _ch.getReferenceObject()),
+
+            chans[i].setPorts(new TMLPort(top + "__forkch" + id + "_out_" + i, _ch.getReferenceObject()),
                     _ch.getDestinationPorts().get(i));
             chans[i].setType(_ch.getType());
             chans[i].setMax(_ch.getMax());
             chans[i].setSize(_ch.getSize());
             chans[i].originalOriginTasks = originTasks;
             chans[i].originalDestinationTasks = destTasks;
+            TraceManager.addDev("Channel " + _ch.getName() + " must ensure confidentiality?" + _ch.isEnsureConf());
+            chans[i].setEnsureConf(_ch.isEnsureConf());
+            chans[i].setEnsureWeakAuth(_ch.isEnsureWeakAuth());
+            chans[i].setEnsureStrongAuth(_ch.isEnsureStrongAuth());
             _newChannels.add(chans[i]);
         }
 
@@ -2419,6 +2447,14 @@ public class TMLModeling<E> {
         }
 
         writes[nb - 1].addNext(stop);
+
+        // Renaming channel
+        String names[] = _ch.getName().split("__");
+        if (names.length > 1) {
+            _ch.setName(names[0] + "__" + names[1] + "_fork");
+        } else {
+            _ch.setName(_ch.getName() + "_fork");
+        }
     }
 
     public void removeForkEvent(TMLEvent _evt, List<TMLEvent> _newEvents, int id) {
@@ -2516,14 +2552,17 @@ public class TMLModeling<E> {
     // Add a task at receiving side
     // Channel is transformed into something else ...
     // Same for events.
-    public void removeJoins() {
+    public void removeJoins(HashMap<TMLChannel, List<TMLChannel>> mapOfChannels) {
         // Create new basic channels and tasks
         int id = 0;
         List<TMLChannel> newChannels = new ArrayList<TMLChannel>();
         for (TMLChannel channel : channels) {
             if (channel.isAJoinChannel()) {
-                removeJoin(channel, newChannels, id);
+                ArrayList<TMLChannel> localChannels = new ArrayList<TMLChannel>();
+                removeJoin(channel, localChannels, id);
                 id ++;
+                mapOfChannels.put(channel, localChannels);
+                newChannels.addAll(localChannels);
             }
         }
 
@@ -2577,6 +2616,10 @@ public class TMLModeling<E> {
             chans[i].setSize(_ch.getSize());
             chans[i].originalOriginTasks = originTasks;
             chans[i].originalDestinationTasks = destTasks;
+            chans[i].setEnsureConf(_ch.isEnsureConf());
+            chans[i].setEnsureWeakAuth(_ch.isEnsureWeakAuth());
+            chans[i].setEnsureStrongAuth(_ch.isEnsureStrongAuth());
+
             _newChannels.add(chans[i]);
         }
 
diff --git a/src/main/java/ui/GTMLModeling.java b/src/main/java/ui/GTMLModeling.java
index 34b17d4b70..d69c69a344 100644
--- a/src/main/java/ui/GTMLModeling.java
+++ b/src/main/java/ui/GTMLModeling.java
@@ -1,28 +1,28 @@
 /* Copyright or (C) or Copr. GET / ENST, Telecom-Paris, Ludovic Apvrille, Andrea Enrici, Matteo Bertolino
- * 
+ *
  * ludovic.apvrille AT telecom-paristech.fr
  * andrea.enrici AT telecom-paristech.fr
  * matteo.bertolino 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,
@@ -33,7 +33,7 @@
  * 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.
  */
@@ -46,7 +46,6 @@ import tmltranslator.*;
 import tmltranslator.modelcompiler.ArchUnitMEC;
 import tmltranslator.tmlcp.TMLCPElement;
 import tmltranslator.tmlcp.TMLSDAction;
-import tmltranslator.tmlcp.TMLSDEvent;
 import tmltranslator.tmlcp.TMLSDMessage;
 import translator.CheckingError;
 import ui.tmlad.TMLADEncrypt;
@@ -65,8 +64,8 @@ import ui.tmlsd.TMLSDStorageInstance;
 import ui.tmlsd.TMLSDTransferInstance;
 
 import java.awt.*;
-import java.util.*;
 import java.util.List;
+import java.util.*;
 
 /**
  * Class GTMLModeling
@@ -153,8 +152,13 @@ public class GTMLModeling {
         putPrefixName = _b;
     }
 
-    public void setConsiderTimeOperators(boolean _b) {considerTimeOperators = _b;}
-    public void setConsiderExecOperators(boolean _b) {considerExecOperators = _b;}
+    public void setConsiderTimeOperators(boolean _b) {
+        considerTimeOperators = _b;
+    }
+
+    public void setConsiderExecOperators(boolean _b) {
+        considerExecOperators = _b;
+    }
 
     public void processAttacker() {
         //
@@ -309,8 +313,7 @@ public class GTMLModeling {
             syntax.checkSyntax();
 
 
-
-            if ( (syntax.hasErrors() > 0) || (syntax.hasWarnings() > 0) ) {
+            if ((syntax.hasErrors() > 0) || (syntax.hasWarnings() > 0)) {
                 handleErrorsAndWarnings(syntax);
             }
         } else if (tmlcdp != null) {
@@ -444,7 +447,7 @@ public class GTMLModeling {
         TGComponent tgc;
 
         TraceManager.addDev("ADDING PRAGMA");
-        if(pragmas == null) return;
+        if (pragmas == null) return;
 
         Iterator<? extends TGComponent> iterator = pragmas.listIterator();
         while (iterator.hasNext()) {
@@ -978,6 +981,9 @@ public class GTMLModeling {
                             // Channel attributes
                             port = portstome.get(0);
                             TraceManager.addDev("Fork sample?");
+                            // Name of channel
+                            /*name = makeName(port1, port1.getPortName());
+                            name += "__" + portstome.get(0).getPortName();*/
                             channel = new TMLChannel(name, port1);
                             TMLCPath path = tmlc.findPathWith(port);
                             if (path != null) {
@@ -1044,7 +1050,7 @@ public class GTMLModeling {
 
                                 tmlm.addChannel(channel);
                                 listE.addCor(channel, tgc);
-                                //TraceManager.addDev("Adding channel " + channel.getName());
+                                TraceManager.addDev("Adding channel Fork / join " + channel.getName());
                             }
                         }
                     }
@@ -1689,7 +1695,6 @@ public class GTMLModeling {
     }
 
 
-
     public TMLMapping<TGComponent> translateToTMLMapping(boolean considerExecOperators, boolean considerTimeOperators) {
         tmlm = new TMLModeling<>(true);
         archi = new TMLArchitecture();  //filled by makeArchitecture
@@ -1699,7 +1704,7 @@ public class GTMLModeling {
         //listE = new CorrespondanceTGElement();
 
         TraceManager.addDev("Making architecture");
-        makeArchitecture();     //fills archi
+        makeArchitecture();     // Fills archi
         TraceManager.addDev("Making TML modeling");
         if (!makeTMLModeling(considerExecOperators, considerTimeOperators)) {
             return null;
@@ -1708,8 +1713,6 @@ public class GTMLModeling {
         makeMapping();  //fills map
 
 
-
-
         processAttackerScenario();
         map.setCorrespondanceList(listE);
         //  map.securityPatterns.addAll(securityPatterns.keySet());
@@ -1775,7 +1778,6 @@ public class GTMLModeling {
         }
 
 
-
         //TraceManager.addDev("<--- TML modeling:");
         //TraceManager.addDev("TML: " + tmlm.toString());
         //TraceManager.addDev("End of TML modeling --->");
@@ -2648,13 +2650,13 @@ public class GTMLModeling {
                         if (tempInstance.getName().equals(sender)) {
                             //TraceManager.addDev( "Adding message " + message.toString() + " to instance " + tempInstance.toString() );
                             tempInstance.addSendMessage(message,
-                                    ((TGConnectorMessageTMLSD)message.getReferenceObject()).
+                                    ((TGConnectorMessageTMLSD) message.getReferenceObject()).
                                             getTGConnectingPointP1().getY());
                             //break;
                         }
                         if (tempInstance.getName().equals(receiver)) {
                             //TraceManager.addDev( "Adding message " + message.toString() + " to instance " + tempInstance.toString() );
-                            tempInstance.addReceiveMessage(message, ((TGConnectorMessageTMLSD)message.getReferenceObject()).
+                            tempInstance.addReceiveMessage(message, ((TGConnectorMessageTMLSD) message.getReferenceObject()).
                                     getTGConnectingPointP2().getY());
                             //break;
                         }
@@ -3020,6 +3022,7 @@ public class GTMLModeling {
                 for (TMLArchiArtifact artifact : artifacts) {
                     //TraceManager.addDev("Exploring artifact " + artifact.getValue());
                     s = artifact.getReferenceTaskName();
+                    //TraceManager.addDev("Exploring artifact " + artifact.getValue());
                     ArchUnitMEC mec = artifact.getArchUnitMEC();
                     int operationType = artifact.getOperationType();
                     String operationMEC = artifact.getOperationMEC();
@@ -3060,33 +3063,38 @@ public class GTMLModeling {
                     }
                     artifactscomm = ((TMLArchiCommunicationNode) (tgc)).getChannelArtifactList();
                     for (TMLArchiCommunicationArtifact artifact : artifactscomm) {
-                        TraceManager.addDev("Exploring artifact " + artifact.getValue());
-                        s = artifact.getReferenceCommunicationName();
-                        s = s.replaceAll("\\s", "");
-                        s = s + "__" + artifact.getCommunicationName();
+                        TraceManager.addDev("Exploring artifact " + artifact.getValue() + " commname:" + artifact.getCommunicationName() );
+                        //s = artifact.getReferenceCommunicationName();
+                        //s = s.replaceAll("\\s", "");
+                        //s = s + "__" + artifact.getCommunicationName();
                         //TraceManager.addDev( "s: " + s );
                         String[] vectChNames = artifact.getCommunicationName().split("__");
-                        if (vectChNames.length > 1) {
+                        if (vectChNames.length > 2) {
+                            s = artifact.getReferenceCommunicationName() + "__" + artifact.getCommunicationName();
+                        }else if (vectChNames.length > 1) {
                             s = artifact.getReferenceCommunicationName() + "__" + vectChNames[0] + "__" + artifact.getReferenceCommunicationName()
                                     + "__" + vectChNames[1];
                         } else {
                             s = artifact.getReferenceCommunicationName() + "__" + vectChNames[0];
                         }
                         s = s.replaceAll("\\s", "");
-                        //TraceManager.addDev("Searching for " + s + " in " );
+                        TraceManager.addDev("Searching for " + s + " in " );
+                        TraceManager.addDev("Available channels: " + tmlm.getChannelNames());
                         elt = tmlm.getCommunicationElementByName(s);
                         //TraceManager.addDev("comm elts: " + tmlm.getStringListCommunicationElements());
                         if (elt instanceof TMLChannel) {
-                            //TraceManager.addDev("Setting priority of " + elt + " to " + artifact.getPriority() );
+                            TraceManager.addDev("\t -> found TML Channel. Setting priority of " + elt + " to " + artifact.getPriority() );
                             ((TMLChannel) (elt)).setPriority(artifact.getPriority());
 
+                        } else {
+                            TraceManager.addDev("\t -> Not found" );
                         }
                         if (elt != null) {
-                            //TraceManager.addDev( "Adding communication " + s + " to Hardware Communication Node " + node.getName() );
+                            TraceManager.addDev( "Adding communication " + s + " to Hardware Communication Node " + node.getName() );
                             map.addCommToHwCommNode(elt, (HwCommunicationNode) node);
 
                             // Map to other referenced comm of the artifact
-                            for(String nn: artifact.getOtherCommunicationNames()) {
+                            for (String nn : artifact.getOtherCommunicationNames()) {
                                 HwNode oNode = archi.getHwNodeByName(nn);
                                 if (oNode instanceof HwCommunicationNode) {
                                     TraceManager.addDev("Found another node for allocation of " + s + ": " + nn);
diff --git a/src/main/java/ui/MainGUI.java b/src/main/java/ui/MainGUI.java
index 4b67421054..33806caf11 100644
--- a/src/main/java/ui/MainGUI.java
+++ b/src/main/java/ui/MainGUI.java
@@ -1415,6 +1415,7 @@ public class MainGUI implements ActionListener, WindowListener, KeyListener, Per
     }
 
     public Vector<String> getAllTMLCommunicationNames() {
+        // Include the name of origin for fork, and the name of destination for join
         TURTLEPanel tp;
         Vector<String> list = new Vector<String>();
 
diff --git a/src/main/java/ui/tmlcompd/TMLComponentTaskDiagramPanel.java b/src/main/java/ui/tmlcompd/TMLComponentTaskDiagramPanel.java
index 3f2773ca6c..6b6e4087c7 100755
--- a/src/main/java/ui/tmlcompd/TMLComponentTaskDiagramPanel.java
+++ b/src/main/java/ui/tmlcompd/TMLComponentTaskDiagramPanel.java
@@ -363,6 +363,8 @@ public class TMLComponentTaskDiagramPanel extends TDiagramPanel implements TDPWi
         return ret;
     }
 
+
+
     public List<TGComponent> getAllPortsConnectedTo(TMLCPrimitivePort _port) {
         List<TGComponent> ll = new LinkedList<TGComponent>();
         getAllPortsConnectedTo(ll, _port);
@@ -370,6 +372,7 @@ public class TMLComponentTaskDiagramPanel extends TDiagramPanel implements TDPWi
         return ll;
     }
 
+    // Not a good handling of forks/joins
     public List<String> getAllTMLCommunicationNames(String _topname) {
         List<String> al = new ArrayList<String>();
 
@@ -394,6 +397,8 @@ public class TMLComponentTaskDiagramPanel extends TDiagramPanel implements TDPWi
             ports = tmlc.getAllChannelsOriginPorts();
             //TraceManager.addDev("Ports size:" + ports.size());
             li = ports.listIterator();
+
+            // Does not handle fork nor join
             while (li.hasNext()) {
                 port1 = li.next();
                 portstome = getPortsConnectedTo(port1, components);
@@ -401,7 +406,9 @@ public class TMLComponentTaskDiagramPanel extends TDiagramPanel implements TDPWi
 
                 Iterator<TMLCPrimitivePort> ite = portstome.listIterator();
 
+              String fullName = "";
                 while (ite.hasNext()) {
+                    name = "";
                     //if ( portstome.size() == 1 ) {
                     //TraceManager.addDev("port=" + ((TMLCPrimitivePort)(ite.next())).getPortName());
                     port2 = ite.next();
@@ -417,10 +424,17 @@ public class TMLComponentTaskDiagramPanel extends TDiagramPanel implements TDPWi
                                 name = name1 + "__" + name2;
                             }
                             //TraceManager.addDev( "About to add " + _topname + " " + name + " " );
-                            al.add(_topname + "::" + name);
+                            //al.add(_topname + "::" + name);
+                            if (fullName.length() == 0) {
+                                fullName = name;
+                            } else {
+                                fullName += "__" + name2;
+                            }
                         }
                     }
                 }
+                al.add(_topname + "::" + fullName);
+
             }
             //            }
         }
diff --git a/src/main/java/ui/tmldd/TMLArchiCommunicationArtifact.java b/src/main/java/ui/tmldd/TMLArchiCommunicationArtifact.java
index ab9b166d8f..e913f9f1c5 100755
--- a/src/main/java/ui/tmldd/TMLArchiCommunicationArtifact.java
+++ b/src/main/java/ui/tmldd/TMLArchiCommunicationArtifact.java
@@ -96,7 +96,6 @@ public class TMLArchiCommunicationArtifact extends TGCWithoutInternalComponent i
         communicationName = "name";
         referenceCommunicationName = "TMLCommunication";
 
-
         makeFullValue();
 
         myImageIcon = IconManager.imgic702;
-- 
GitLab