From 6c096042e8d81bb0c6f37733568f89c68c13da34 Mon Sep 17 00:00:00 2001
From: Ludovic Apvrille <ludovic.apvrille@telecom-paristech.fr>
Date: Thu, 4 Jul 2019 13:52:19 +0200
Subject: [PATCH] Update on TaskINForVC by Frederic Giroudot

---
 modeling/DIPLODOCUS/SmartCardProtocol.xml     | 1156 ++++++++---------
 src/main/java/cli/Action.java                 |  311 +++--
 src/main/java/common/ConfigurationTTool.java  |   14 +
 src/main/java/common/SpecConfigTTool.java     |    6 +
 .../tmltranslator/tonetwork/TaskINForVC.java  |  113 +-
 src/main/java/ui/MainGUI.java                 |   30 +-
 .../ui/window/JDialogSystemCGeneration.java   |   30 +-
 7 files changed, 945 insertions(+), 715 deletions(-)

diff --git a/modeling/DIPLODOCUS/SmartCardProtocol.xml b/modeling/DIPLODOCUS/SmartCardProtocol.xml
index dcdc9717c4..5202b9daf6 100755
--- a/modeling/DIPLODOCUS/SmartCardProtocol.xml
+++ b/modeling/DIPLODOCUS/SmartCardProtocol.xml
@@ -8,16 +8,16 @@
 <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="113" />
-<P2  x="534" y="395" id="68" />
+<P1  x="556" y="321" id="169" />
+<P2  x="534" y="395" id="216" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="126" id="3" >
 <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="210" />
-<P2  x="761" y="548" id="98" />
+<P1  x="1025" y="471" id="63" />
+<P2  x="761" y="548" id="184" />
 <Point x="887" y="577" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR><SUBCOMPONENT type="-1" id="2" >
@@ -33,128 +33,128 @@
 <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="96" />
-<P2  x="693" y="321" id="135" />
+<P1  x="710" y="403" id="186" />
+<P2  x="693" y="321" id="147" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="126" id="5" >
 <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="63" />
-<P2  x="453" y="322" id="33" />
+<P1  x="534" y="369" id="211" />
+<P2  x="453" y="322" id="41" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="126" id="6" >
 <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="31" />
-<P2  x="593" y="84" id="111" />
+<P1  x="401" y="83" id="43" />
+<P2  x="593" y="84" id="171" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="126" id="7" >
 <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="92" />
-<P2  x="969" y="474" id="196" />
+<P1  x="805" y="542" id="190" />
+<P2  x="969" y="474" id="77" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="126" id="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="90" />
-<P2  x="931" y="466" id="198" />
+<P1  x="805" y="509" id="192" />
+<P2  x="931" y="466" id="75" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="126" id="9" >
 <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="751" y="406" id="82" />
-<P2  x="842" y="362" id="162" />
+<P1  x="751" y="406" id="200" />
+<P2  x="842" y="362" id="105" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="126" id="10" >
 <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="842" y="388" id="166" />
-<P2  x="931" y="352" id="188" />
+<P1  x="842" y="388" id="109" />
+<P2  x="931" y="352" id="85" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="126" id="11" >
 <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="86" />
-<P2  x="931" y="443" id="190" />
+<P1  x="805" y="481" id="196" />
+<P2  x="931" y="443" id="83" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="126" id="12" >
 <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="88" />
-<P2  x="931" y="416" id="192" />
+<P1  x="805" y="448" id="194" />
+<P2  x="931" y="416" id="81" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="126" id="13" >
 <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="194" />
-<P2  x="805" y="419" id="84" />
+<P1  x="931" y="387" id="79" />
+<P2  x="805" y="419" id="198" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="126" id="14" >
 <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="186" />
-<P2  x="734" y="269" id="123" />
+<P1  x="931" y="317" id="87" />
+<P2  x="734" y="269" id="159" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="126" id="15" >
 <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="125" />
-<P2  x="931" y="278" id="184" />
+<P1  x="734" y="235" id="157" />
+<P2  x="931" y="278" id="89" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="126" id="16" >
 <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="127" />
-<P2  x="931" y="235" id="182" />
+<P1  x="734" y="190" id="155" />
+<P2  x="931" y="235" id="91" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="126" id="17" >
 <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="842" y="362" id="161" />
-<P2  x="734" y="301" id="129" />
+<P1  x="842" y="362" id="104" />
+<P2  x="734" y="301" id="153" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="126" id="18" >
 <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="119" />
-<P2  x="453" y="290" id="39" />
+<P1  x="534" y="290" id="163" />
+<P2  x="453" y="290" id="35" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="126" id="19" >
 <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="43" />
-<P2  x="534" y="116" id="131" />
+<P1  x="453" y="116" id="31" />
+<P2  x="534" y="116" id="151" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="126" id="20" >
@@ -162,63 +162,63 @@
 <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="37" />
-<P2  x="534" y="202" id="117" />
+<P2  x="534" y="202" id="165" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="126" id="21" >
 <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="115" />
-<P2  x="453" y="247" id="35" />
+<P1  x="534" y="247" id="167" />
+<P2  x="453" y="247" id="39" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="126" id="22" >
 <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="41" />
-<P2  x="534" y="156" id="121" />
+<P1  x="453" y="156" id="33" />
+<P2  x="534" y="156" id="161" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="126" id="23" >
 <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="180" />
-<P2  x="734" y="111" id="109" />
+<P1  x="931" y="185" id="93" />
+<P2  x="734" y="111" id="173" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="126" id="24" >
 <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="133" />
-<P2  x="669" y="406" id="94" />
+<P1  x="630" y="324" id="149" />
+<P2  x="669" y="406" id="188" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="126" id="25" >
 <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="146" />
-<P2  x="1167" y="370" id="200" />
+<P1  x="1232" y="368" id="127" />
+<P2  x="1167" y="370" id="73" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="126" id="26" >
 <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="202" />
-<P2  x="1232" y="403" id="148" />
+<P1  x="1167" y="405" id="71" />
+<P2  x="1232" y="403" id="125" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="126" id="29" >
 <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="204" />
-<P2  x="1167" y="266" id="206" />
+<P1  x="1167" y="198" id="69" />
+<P2  x="1167" y="266" id="67" />
 <Point x="1227" y="207" />
 <Point x="1227" y="247" />
 <AutomaticDrawing  data="true" />
@@ -243,8 +243,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="208" />
-<P2  x="1232" y="431" id="150" />
+<P1  x="1167" y="444" id="65" />
+<P2  x="1232" y="431" id="123" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <COMPONENT type="1202" id="53" >
@@ -272,14 +272,14 @@
 </COMPONENT>
 <SUBCOMPONENT type="1203" id="32" >
 <father id="53" num="0" />
-<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" />
 <TGConnectingPoint num="0" id="31" />
 <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="-1" />
+<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="-1" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -289,16 +289,16 @@
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1203" id="34" >
 <father id="53" 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" />
 <TGConnectingPoint num="0" id="33" />
 <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="-1" />
-<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="-1" />
+<Type type="1" typeOther="" />
+<Type type="2" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -306,14 +306,14 @@
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1203" id="36" >
 <father id="53" num="2" />
-<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" />
 <TGConnectingPoint num="0" id="35" />
 <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="-1" />
+<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="-1" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -340,14 +340,14 @@
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1203" id="40" >
 <father id="53" num="4" />
-<cdparam x="440" y="290" />
+<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" />
 <TGConnectingPoint num="0" id="39" />
 <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="-1" />
+<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="-1" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -357,16 +357,16 @@
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1203" id="42" >
 <father id="53" 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" />
 <TGConnectingPoint num="0" id="41" />
 <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="-1" />
-<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="-1" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -374,14 +374,14 @@
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1203" id="44" >
 <father id="53" num="6" />
-<cdparam x="443" y="116" />
-<sizeparam width="21" height="21" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<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" />
 <TGConnectingPoint num="0" id="43" />
 <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="-1" />
+<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="-1" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -428,61 +428,61 @@
 <info hiddeni="false" />
 </extraparam>
 </COMPONENT>
-<SUBCOMPONENT type="1201" id="81" >
+<SUBCOMPONENT type="1200" id="146" >
 <father id="238" 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="842" 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="" />
-<TGConnectingPoint num="0" id="63" />
-<TGConnectingPoint num="1" id="64" />
-<TGConnectingPoint num="2" id="65" />
-<TGConnectingPoint num="3" id="66" />
-<TGConnectingPoint num="4" id="67" />
-<TGConnectingPoint num="5" id="68" />
-<TGConnectingPoint num="6" id="69" />
-<TGConnectingPoint num="7" id="70" />
-<TGConnectingPoint num="8" id="71" />
-<TGConnectingPoint num="9" id="72" />
-<TGConnectingPoint num="10" id="73" />
-<TGConnectingPoint num="11" id="74" />
-<TGConnectingPoint num="12" id="75" />
-<TGConnectingPoint num="13" id="76" />
-<TGConnectingPoint num="14" id="77" />
-<TGConnectingPoint num="15" id="78" />
-<TGConnectingPoint num="16" id="79" />
-<TGConnectingPoint num="17" id="80" />
-</SUBCOMPONENT>
-<SUBCOMPONENT type="1202" id="108" >
-<father id="238" num="1" />
-<cdparam x="565" y="416" />
-<sizeparam width="240" height="145" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdrectangleparam minX="0" maxX="365" minY="0" maxY="45" />
+<infoparam name="TGComponent" value="TCPIP Entities" />
+<TGConnectingPoint num="0" id="138" />
+<TGConnectingPoint num="1" id="139" />
+<TGConnectingPoint num="2" id="140" />
+<TGConnectingPoint num="3" id="141" />
+<TGConnectingPoint num="4" id="142" />
+<TGConnectingPoint num="5" id="143" />
+<TGConnectingPoint num="6" id="144" />
+<TGConnectingPoint num="7" id="145" />
+<extraparam>
+<info hiddeni="false" />
+</extraparam>
+</SUBCOMPONENT>
+<SUBCOMPONENT type="1202" id="103" >
+<father id="146" 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" />
-<TGConnectingPoint num="0" id="100" />
-<TGConnectingPoint num="1" id="101" />
-<TGConnectingPoint num="2" id="102" />
-<TGConnectingPoint num="3" id="103" />
-<TGConnectingPoint num="4" id="104" />
-<TGConnectingPoint num="5" id="105" />
-<TGConnectingPoint num="6" id="106" />
-<TGConnectingPoint num="7" id="107" />
+<cdrectangleparam minX="0" maxX="334" minY="0" maxY="168" />
+<infoparam name="TGComponent" value="TCPIP" />
+<TGConnectingPoint num="0" id="95" />
+<TGConnectingPoint num="1" id="96" />
+<TGConnectingPoint num="2" id="97" />
+<TGConnectingPoint num="3" id="98" />
+<TGConnectingPoint num="4" id="99" />
+<TGConnectingPoint num="5" id="100" />
+<TGConnectingPoint num="6" id="101" />
+<TGConnectingPoint num="7" id="102" />
 <extraparam>
 <Data isAttacker="No" daemon="false" 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="83" >
-<father id="108" num="0" />
-<cdparam x="741" y="406" />
-<sizeparam width="21" height="21" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<SUBCOMPONENT type="1203" id="64" >
+<father id="103" 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" />
-<TGConnectingPoint num="0" id="82" />
+<cdrectangleparam minX="-13" maxX="223" minY="-13" maxY="304" />
+<infoparam name="Primitive port" value="Event opened" />
+<TGConnectingPoint num="0" id="63" />
 <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="-1" />
+<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="-1" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -490,16 +490,16 @@
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="85" >
-<father id="108" num="1" />
-<cdparam x="795" y="419" />
+<SUBCOMPONENT type="1203" id="66" >
+<father id="103" 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" />
-<TGConnectingPoint num="0" id="84" />
+<cdrectangleparam minX="-10" maxX="226" minY="-10" maxY="307" />
+<infoparam name="TGComponent" value="Event stop" />
+<TGConnectingPoint num="0" id="65" />
 <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="-1" />
+<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="-1" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -507,16 +507,16 @@
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="87" >
-<father id="108" num="2" />
-<cdparam x="795" y="481" />
+<SUBCOMPONENT type="1203" id="68" >
+<father id="103" 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" />
-<TGConnectingPoint num="0" id="86" />
+<cdrectangleparam minX="-10" maxX="226" minY="-10" maxY="307" />
+<infoparam name="TGComponent" value="Channel temp" />
+<TGConnectingPoint num="0" id="67" />
 <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="-1" />
+<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="-1" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -524,16 +524,16 @@
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="89" >
-<father id="108" num="3" />
-<cdparam x="795" y="448" />
+<SUBCOMPONENT type="1203" id="70" >
+<father id="103" 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" />
-<TGConnectingPoint num="0" id="88" />
+<cdrectangleparam minX="-10" maxX="226" minY="-10" maxY="307" />
+<infoparam name="TGComponent" value="Channel temp" />
+<TGConnectingPoint num="0" id="69" />
 <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="-1" />
+<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="-1" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -541,16 +541,16 @@
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="91" >
-<father id="108" num="4" />
-<cdparam x="795" y="509" />
+<SUBCOMPONENT type="1203" id="72" >
+<father id="103" 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" />
-<TGConnectingPoint num="0" id="90" />
+<cdrectangleparam minX="-10" maxX="226" minY="-10" maxY="307" />
+<infoparam name="TGComponent" value="Request req_Timer" />
+<TGConnectingPoint num="0" id="71" />
 <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="-1" />
+<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="-1" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -558,16 +558,16 @@
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="93" >
-<father id="108" num="5" />
-<cdparam x="795" y="542" />
+<SUBCOMPONENT type="1203" id="74" >
+<father id="103" 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" />
-<TGConnectingPoint num="0" id="92" />
+<cdrectangleparam minX="-10" maxX="226" minY="-10" maxY="307" />
+<infoparam name="TGComponent" value="Event timeOut" />
+<TGConnectingPoint num="0" id="73" />
 <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="-1" />
+<Prop commName="timeOut" commType="1" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="VOID" associatedEvent="VOID" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="-1" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -575,16 +575,16 @@
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="95" >
-<father id="108" num="6" />
-<cdparam x="659" y="406" />
+<SUBCOMPONENT type="1203" id="76" >
+<father id="103" 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" />
-<TGConnectingPoint num="0" id="94" />
+<cdrectangleparam minX="-10" maxX="226" minY="-10" maxY="307" />
+<infoparam name="TGComponent" value="Event receive_Application" />
+<TGConnectingPoint num="0" id="75" />
 <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="-1" />
+<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="-1" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -592,16 +592,16 @@
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="97" >
-<father id="108" 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="78" >
+<father id="103" 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" />
-<TGConnectingPoint num="0" id="96" />
+<cdrectangleparam minX="-10" maxX="226" minY="-10" maxY="307" />
+<infoparam name="TGComponent" value="Channel fromAtoT" />
+<TGConnectingPoint num="0" id="77" />
 <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="-1" />
+<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="-1" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -609,16 +609,16 @@
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="99" >
-<father id="108" 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="80" >
+<father id="103" 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" />
-<TGConnectingPoint num="0" id="98" />
+<cdrectangleparam minX="-10" maxX="226" minY="-10" maxY="307" />
+<infoparam name="TGComponent" value="Channel fromTtoA" />
+<TGConnectingPoint num="0" id="79" />
 <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="-1" />
+<Prop commName="fromTtoA" commType="0" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="VOID" associatedEvent="VOID" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="-1" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -626,43 +626,33 @@
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1202" id="145" >
-<father id="238" 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="82" >
+<father id="103" 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" />
-<TGConnectingPoint num="0" id="137" />
-<TGConnectingPoint num="1" id="138" />
-<TGConnectingPoint num="2" id="139" />
-<TGConnectingPoint num="3" id="140" />
-<TGConnectingPoint num="4" id="141" />
-<TGConnectingPoint num="5" id="142" />
-<TGConnectingPoint num="6" id="143" />
-<TGConnectingPoint num="7" id="144" />
+<cdrectangleparam minX="-10" maxX="226" minY="-10" maxY="307" />
+<infoparam name="TGComponent" value="Event open, abort, close" />
+<TGConnectingPoint num="0" id="81" />
 <extraparam>
-<Data isAttacker="No" daemon="false" 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="-1" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="110" >
-<father id="145" 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="84" >
+<father id="103" 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" />
-<TGConnectingPoint num="0" id="109" />
+<cdrectangleparam minX="-10" maxX="226" minY="-10" maxY="307" />
+<infoparam name="TGComponent" value="Event send_TCP" />
+<TGConnectingPoint num="0" id="83" />
 <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="-1" />
+<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="-1" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -670,16 +660,16 @@
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="112" >
-<father id="145" num="1" />
-<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="86" >
+<father id="103" 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" />
-<TGConnectingPoint num="0" id="111" />
+<cdrectangleparam minX="-10" maxX="226" minY="-10" maxY="307" />
+<infoparam name="TGComponent" value="Request start_TCP_IP" />
+<TGConnectingPoint num="0" id="85" />
 <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="-1" />
+<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="-1" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -687,16 +677,16 @@
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="114" >
-<father id="145" num="2" />
-<cdparam x="543" y="321" />
+<SUBCOMPONENT type="1203" id="88" >
+<father id="103" 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" />
-<TGConnectingPoint num="0" id="113" />
+<cdrectangleparam minX="-13" maxX="223" minY="-13" maxY="304" />
+<infoparam name="TGComponent" value="Channel fromTtoP" />
+<TGConnectingPoint num="0" id="87" />
 <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="-1" />
+<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="-1" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -704,16 +694,16 @@
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="116" >
-<father id="145" num="3" />
-<cdparam x="521" y="247" />
+<SUBCOMPONENT type="1203" id="90" >
+<father id="103" 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" />
-<TGConnectingPoint num="0" id="115" />
+<cdrectangleparam minX="-13" maxX="223" minY="-13" maxY="304" />
+<infoparam name="TGComponent" value="Channel fromPtoT" />
+<TGConnectingPoint num="0" id="89" />
 <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="-1" />
+<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="-1" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -721,16 +711,16 @@
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="118" >
-<father id="145" num="4" />
-<cdparam x="521" y="202" />
+<SUBCOMPONENT type="1203" id="92" >
+<father id="103" 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" />
-<TGConnectingPoint num="0" id="117" />
+<cdrectangleparam minX="-13" maxX="223" minY="-13" maxY="304" />
+<infoparam name="TGComponent" value="Event receive" />
+<TGConnectingPoint num="0" id="91" />
 <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="-1" />
+<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="-1" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -738,16 +728,16 @@
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="120" >
-<father id="145" num="5" />
-<cdparam x="521" y="290" />
+<SUBCOMPONENT type="1203" id="94" >
+<father id="103" 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" />
-<TGConnectingPoint num="0" id="119" />
+<cdrectangleparam minX="-13" maxX="223" minY="-13" maxY="304" />
+<infoparam name="TGComponent" value="Event send" />
+<TGConnectingPoint num="0" id="93" />
 <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="-1" />
+<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="-1" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -755,33 +745,62 @@
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="122" >
-<father id="145" 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="122" >
+<father id="146" num="1" />
+<cdparam x="829" 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" />
-<TGConnectingPoint num="0" id="121" />
+<cdrectangleparam minX="-13" maxX="557" minY="-13" maxY="472" />
+<infoparam name="Composite port" value="" />
+<TGConnectingPoint num="0" id="104" />
+<TGConnectingPoint num="1" id="105" />
+<TGConnectingPoint num="2" id="106" />
+<TGConnectingPoint num="3" id="107" />
+<TGConnectingPoint num="4" id="108" />
+<TGConnectingPoint num="5" id="109" />
+<TGConnectingPoint num="6" id="110" />
+<TGConnectingPoint num="7" id="111" />
+<TGConnectingPoint num="8" id="112" />
+<TGConnectingPoint num="9" id="113" />
+<TGConnectingPoint num="10" id="114" />
+<TGConnectingPoint num="11" id="115" />
+<TGConnectingPoint num="12" id="116" />
+<TGConnectingPoint num="13" id="117" />
+<TGConnectingPoint num="14" id="118" />
+<TGConnectingPoint num="15" id="119" />
+<TGConnectingPoint num="16" id="120" />
+<TGConnectingPoint num="17" id="121" />
+</SUBCOMPONENT>
+<SUBCOMPONENT type="1202" id="137" >
+<father id="146" 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" />
+<TGConnectingPoint num="0" id="129" />
+<TGConnectingPoint num="1" id="130" />
+<TGConnectingPoint num="2" id="131" />
+<TGConnectingPoint num="3" id="132" />
+<TGConnectingPoint num="4" id="133" />
+<TGConnectingPoint num="5" id="134" />
+<TGConnectingPoint num="6" id="135" />
+<TGConnectingPoint num="7" id="136" />
 <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="-1" />
-<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" Operation="" />
+<Attribute access="2" id="x" value="0" type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1203" id="124" >
-<father id="145" num="7" />
-<cdparam x="721" y="269" />
-<sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<father id="137" 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" />
 <TGConnectingPoint num="0" id="123" />
 <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="-1" />
+<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="-1" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -790,15 +809,15 @@
 </extraparam>
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1203" id="126" >
-<father id="145" num="8" />
-<cdparam x="721" y="235" />
-<sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<father id="137" 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" />
 <TGConnectingPoint num="0" id="125" />
 <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="-1" />
+<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="-1" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -807,15 +826,15 @@
 </extraparam>
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1203" id="128" >
-<father id="145" num="9" />
-<cdparam x="721" y="190" />
-<sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<father id="137" 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" />
 <TGConnectingPoint num="0" id="127" />
 <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="-1" />
+<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="-1" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -823,16 +842,43 @@
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="130" >
-<father id="145" num="10" />
-<cdparam x="721" y="301" />
+<SUBCOMPONENT type="1202" id="183" >
+<father id="238" 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="0" maxX="735" minY="0" maxY="293" />
+<infoparam name="TGComponent" value="SmartCard" />
+<TGConnectingPoint num="0" id="175" />
+<TGConnectingPoint num="1" id="176" />
+<TGConnectingPoint num="2" id="177" />
+<TGConnectingPoint num="3" id="178" />
+<TGConnectingPoint num="4" id="179" />
+<TGConnectingPoint num="5" id="180" />
+<TGConnectingPoint num="6" id="181" />
+<TGConnectingPoint num="7" id="182" />
+<extraparam>
+<Data isAttacker="No" daemon="false" 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="148" >
+<father id="183" 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="-13" maxX="187" minY="-13" maxY="224" />
-<infoparam name="TGComponent" value="Request start_TCP_IP" />
-<TGConnectingPoint num="0" id="129" />
+<infoparam name="Primitive port" value="Event connectionOpened" />
+<TGConnectingPoint num="0" id="147" />
 <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="-1" />
+<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="-1" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -840,16 +886,16 @@
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="132" >
-<father id="145" num="11" />
-<cdparam x="524" y="116" />
+<SUBCOMPONENT type="1203" id="150" >
+<father id="183" 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 activation" />
-<TGConnectingPoint num="0" id="131" />
+<infoparam name="TGComponent" value="Request start_Application" />
+<TGConnectingPoint num="0" id="149" />
 <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="-1" />
+<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="-1" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -857,16 +903,16 @@
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="134" >
-<father id="145" num="12" />
-<cdparam x="620" y="324" />
+<SUBCOMPONENT type="1203" id="152" >
+<father id="183" 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="190" minY="-10" maxY="227" />
-<infoparam name="TGComponent" value="Request start_Application" />
-<TGConnectingPoint num="0" id="133" />
+<infoparam name="TGComponent" value="Request activation" />
+<TGConnectingPoint num="0" id="151" />
 <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="-1" />
+<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="-1" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -874,16 +920,16 @@
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="136" >
-<father id="145" num="13" />
-<cdparam x="680" y="321" />
+<SUBCOMPONENT type="1203" id="154" >
+<father id="183" 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="-13" maxX="187" minY="-13" maxY="224" />
-<infoparam name="Primitive port" value="Event connectionOpened" />
-<TGConnectingPoint num="0" id="135" />
+<infoparam name="TGComponent" value="Request start_TCP_IP" />
+<TGConnectingPoint num="0" id="153" />
 <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="-1" />
+<Prop commName="start_TCP_IP" commType="2" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="VOID" associatedEvent="VOID" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="-1" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -891,55 +937,16 @@
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1200" id="229" >
-<father id="238" num="3" />
-<cdparam x="842" 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" />
-<TGConnectingPoint num="0" id="221" />
-<TGConnectingPoint num="1" id="222" />
-<TGConnectingPoint num="2" id="223" />
-<TGConnectingPoint num="3" id="224" />
-<TGConnectingPoint num="4" id="225" />
-<TGConnectingPoint num="5" id="226" />
-<TGConnectingPoint num="6" id="227" />
-<TGConnectingPoint num="7" id="228" />
-<extraparam>
-<info hiddeni="false" />
-</extraparam>
-</SUBCOMPONENT>
-<SUBCOMPONENT type="1202" id="160" >
-<father id="229" 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" />
-<TGConnectingPoint num="0" id="152" />
-<TGConnectingPoint num="1" id="153" />
-<TGConnectingPoint num="2" id="154" />
-<TGConnectingPoint num="3" id="155" />
-<TGConnectingPoint num="4" id="156" />
-<TGConnectingPoint num="5" id="157" />
-<TGConnectingPoint num="6" id="158" />
-<TGConnectingPoint num="7" id="159" />
-<extraparam>
-<Data isAttacker="No" daemon="false" Operation="" />
-<Attribute access="2" id="x" value="0" type="0" typeOther="" />
-</extraparam>
-</SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="147" >
-<father id="160" num="0" />
-<cdparam x="1222" y="368" />
-<sizeparam width="21" height="21" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<SUBCOMPONENT type="1203" id="156" >
+<father id="183" 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 timeOut" />
-<TGConnectingPoint num="0" id="146" />
+<cdrectangleparam minX="-13" maxX="187" minY="-13" maxY="224" />
+<infoparam name="TGComponent" value="Event receive" />
+<TGConnectingPoint num="0" id="155" />
 <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="-1" />
+<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="-1" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -947,16 +954,16 @@
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="149" >
-<father id="160" 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="158" >
+<father id="183" 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="-10" maxX="130" minY="-10" maxY="131" />
-<infoparam name="TGComponent" value="Request req_Timer" />
-<TGConnectingPoint num="0" id="148" />
+<cdrectangleparam minX="-13" maxX="187" minY="-13" maxY="224" />
+<infoparam name="TGComponent" value="Channel fromPtoT" />
+<TGConnectingPoint num="0" id="157" />
 <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="-1" />
+<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="-1" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -964,16 +971,16 @@
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="151" >
-<father id="160" 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="160" >
+<father id="183" 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="-10" maxX="130" minY="-10" maxY="131" />
-<infoparam name="TGComponent" value="Event stop" />
-<TGConnectingPoint num="0" id="150" />
+<cdrectangleparam minX="-13" maxX="187" minY="-13" maxY="224" />
+<infoparam name="TGComponent" value="Channel fromTtoP" />
+<TGConnectingPoint num="0" id="159" />
 <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="-1" />
+<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="-1" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -981,68 +988,33 @@
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1201" id="179" >
-<father id="229" num="1" />
-<cdparam x="829" y="362" />
-<sizeparam width="26" height="26" minWidth="10" minHeight="10" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<SUBCOMPONENT type="1203" id="162" >
+<father id="183" 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="557" minY="-13" maxY="472" />
-<infoparam name="Composite port" value="" />
+<cdrectangleparam minX="-13" maxX="187" minY="-13" maxY="224" />
+<infoparam name="TGComponent" value="Event data_Ready" />
 <TGConnectingPoint num="0" id="161" />
-<TGConnectingPoint num="1" id="162" />
-<TGConnectingPoint num="2" id="163" />
-<TGConnectingPoint num="3" id="164" />
-<TGConnectingPoint num="4" id="165" />
-<TGConnectingPoint num="5" id="166" />
-<TGConnectingPoint num="6" id="167" />
-<TGConnectingPoint num="7" id="168" />
-<TGConnectingPoint num="8" id="169" />
-<TGConnectingPoint num="9" id="170" />
-<TGConnectingPoint num="10" id="171" />
-<TGConnectingPoint num="11" id="172" />
-<TGConnectingPoint num="12" id="173" />
-<TGConnectingPoint num="13" id="174" />
-<TGConnectingPoint num="14" id="175" />
-<TGConnectingPoint num="15" id="176" />
-<TGConnectingPoint num="16" id="177" />
-<TGConnectingPoint num="17" id="178" />
-</SUBCOMPONENT>
-<SUBCOMPONENT type="1202" id="220" >
-<father id="229" num="2" />
-<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="334" minY="0" maxY="168" />
-<infoparam name="TGComponent" value="TCPIP" />
-<TGConnectingPoint num="0" id="212" />
-<TGConnectingPoint num="1" id="213" />
-<TGConnectingPoint num="2" id="214" />
-<TGConnectingPoint num="3" id="215" />
-<TGConnectingPoint num="4" id="216" />
-<TGConnectingPoint num="5" id="217" />
-<TGConnectingPoint num="6" id="218" />
-<TGConnectingPoint num="7" id="219" />
 <extraparam>
-<Data isAttacker="No" daemon="false" 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="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="-1" />
+<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="181" >
-<father id="220" num="0" />
-<cdparam x="918" y="185" />
+<SUBCOMPONENT type="1203" id="164" >
+<father id="183" 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="223" minY="-13" maxY="304" />
-<infoparam name="TGComponent" value="Event send" />
-<TGConnectingPoint num="0" id="180" />
+<cdrectangleparam minX="-13" maxX="187" minY="-13" maxY="224" />
+<infoparam name="TGComponent" value="Event data_Ready_SC" />
+<TGConnectingPoint num="0" id="163" />
 <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="-1" />
+<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="-1" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -1050,16 +1022,16 @@
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="183" >
-<father id="220" num="1" />
-<cdparam x="918" y="235" />
+<SUBCOMPONENT type="1203" id="166" >
+<father id="183" num="9" />
+<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="Event receive" />
-<TGConnectingPoint num="0" id="182" />
+<cdrectangleparam minX="-13" maxX="187" minY="-13" maxY="224" />
+<infoparam name="TGComponent" value="Channel fromDtoSC" />
+<TGConnectingPoint num="0" id="165" />
 <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="-1" />
+<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="-1" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -1067,16 +1039,16 @@
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="185" >
-<father id="220" num="2" />
-<cdparam x="918" y="278" />
+<SUBCOMPONENT type="1203" id="168" >
+<father id="183" num="10" />
+<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 fromPtoT" />
-<TGConnectingPoint num="0" id="184" />
+<cdrectangleparam minX="-13" maxX="187" minY="-13" maxY="224" />
+<infoparam name="TGComponent" value="Channel fromSCtoD" />
+<TGConnectingPoint num="0" id="167" />
 <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="-1" />
+<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="-1" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -1084,16 +1056,16 @@
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="187" >
-<father id="220" num="3" />
-<cdparam x="918" y="317" />
+<SUBCOMPONENT type="1203" id="170" >
+<father id="183" 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="-13" maxX="223" minY="-13" maxY="304" />
-<infoparam name="TGComponent" value="Channel fromTtoP" />
-<TGConnectingPoint num="0" id="186" />
+<cdrectangleparam minX="-13" maxX="187" minY="-13" maxY="224" />
+<infoparam name="TGComponent" value="Event answerToReset, pTSConfirm" />
+<TGConnectingPoint num="0" id="169" />
 <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="-1" />
+<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="-1" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -1101,16 +1073,16 @@
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="189" >
-<father id="220" 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="172" >
+<father id="183" num="12" />
+<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="Request start_TCP_IP" />
-<TGConnectingPoint num="0" id="188" />
+<cdrectangleparam minX="-13" maxX="187" minY="-13" maxY="224" />
+<infoparam name="TGComponent" value="Event reset, pTS, end" />
+<TGConnectingPoint num="0" id="171" />
 <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="-1" />
+<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="-1" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -1118,16 +1090,16 @@
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="191" >
-<father id="220" 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="174" >
+<father id="183" 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 send_TCP" />
-<TGConnectingPoint num="0" id="190" />
+<cdrectangleparam minX="-13" maxX="187" minY="-13" maxY="224" />
+<infoparam name="TGComponent" value="Event send" />
+<TGConnectingPoint num="0" id="173" />
 <extraparam>
-<Prop commName="send_TCP" commType="1" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="VOID" associatedEvent="VOID" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="-1" />
+<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="-1" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -1135,33 +1107,35 @@
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="193" >
-<father id="220" 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="1202" id="210" >
+<father id="238" 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="Event open, abort, close" />
-<TGConnectingPoint num="0" id="192" />
+<cdrectangleparam minX="0" maxX="695" minY="0" maxY="385" />
+<infoparam name="TGComponent" value="Application" />
+<TGConnectingPoint num="0" id="202" />
+<TGConnectingPoint num="1" id="203" />
+<TGConnectingPoint num="2" id="204" />
+<TGConnectingPoint num="3" id="205" />
+<TGConnectingPoint num="4" id="206" />
+<TGConnectingPoint num="5" id="207" />
+<TGConnectingPoint num="6" id="208" />
+<TGConnectingPoint num="7" id="209" />
 <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="-1" />
-<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" Operation="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="195" >
-<father id="220" 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="1203" id="185" >
+<father id="210" 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="-10" maxX="226" minY="-10" maxY="307" />
-<infoparam name="TGComponent" value="Channel fromTtoA" />
-<TGConnectingPoint num="0" id="194" />
+<cdrectangleparam minX="-13" maxX="227" minY="-13" maxY="132" />
+<infoparam name="Primitive port" value="Event opened" />
+<TGConnectingPoint num="0" id="184" />
 <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="-1" />
+<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="-1" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -1169,16 +1143,16 @@
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="197" >
-<father id="220" 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="187" >
+<father id="210" 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" />
-<TGConnectingPoint num="0" id="196" />
+<cdrectangleparam minX="-13" maxX="227" minY="-13" maxY="132" />
+<infoparam name="Primitive port" value="Event connectionOpened" />
+<TGConnectingPoint num="0" id="186" />
 <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="-1" />
+<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="-1" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -1186,16 +1160,16 @@
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="199" >
-<father id="220" num="9" />
-<cdparam x="921" y="466" />
+<SUBCOMPONENT type="1203" id="189" >
+<father id="210" 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" />
-<TGConnectingPoint num="0" id="198" />
+<cdrectangleparam minX="-10" maxX="230" minY="-10" maxY="135" />
+<infoparam name="TGComponent" value="Request start_Application" />
+<TGConnectingPoint num="0" id="188" />
 <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="-1" />
+<Prop commName="start_Application" commType="2" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="VOID" associatedEvent="VOID" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="-1" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -1203,16 +1177,16 @@
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="201" >
-<father id="220" num="10" />
-<cdparam x="1157" y="370" />
+<SUBCOMPONENT type="1203" id="191" >
+<father id="210" 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" />
-<TGConnectingPoint num="0" id="200" />
+<cdrectangleparam minX="-10" maxX="230" minY="-10" maxY="135" />
+<infoparam name="TGComponent" value="Channel fromAtoT" />
+<TGConnectingPoint num="0" id="190" />
 <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="-1" />
+<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="-1" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -1220,16 +1194,16 @@
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="203" >
-<father id="220" num="11" />
-<cdparam x="1157" y="405" />
+<SUBCOMPONENT type="1203" id="193" >
+<father id="210" 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" />
-<TGConnectingPoint num="0" id="202" />
+<cdrectangleparam minX="-10" maxX="230" minY="-10" maxY="135" />
+<infoparam name="TGComponent" value="Event receive_Application" />
+<TGConnectingPoint num="0" id="192" />
 <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="-1" />
+<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="-1" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -1237,16 +1211,16 @@
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="205" >
-<father id="220" num="12" />
-<cdparam x="1157" y="198" />
+<SUBCOMPONENT type="1203" id="195" >
+<father id="210" 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" />
-<TGConnectingPoint num="0" id="204" />
+<cdrectangleparam minX="-10" maxX="230" minY="-10" maxY="135" />
+<infoparam name="TGComponent" value="Event open, abort, close" />
+<TGConnectingPoint num="0" id="194" />
 <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="-1" />
+<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="-1" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -1254,16 +1228,16 @@
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="207" >
-<father id="220" num="13" />
-<cdparam x="1157" y="266" />
+<SUBCOMPONENT type="1203" id="197" >
+<father id="210" 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" />
-<TGConnectingPoint num="0" id="206" />
+<cdrectangleparam minX="-10" maxX="230" minY="-10" maxY="135" />
+<infoparam name="TGComponent" value="Event send_TCP" />
+<TGConnectingPoint num="0" id="196" />
 <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="-1" />
+<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="-1" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -1271,16 +1245,16 @@
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="209" >
-<father id="220" num="14" />
-<cdparam x="1157" y="444" />
+<SUBCOMPONENT type="1203" id="199" >
+<father id="210" 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" />
-<TGConnectingPoint num="0" id="208" />
+<cdrectangleparam minX="-10" maxX="230" minY="-10" maxY="135" />
+<infoparam name="TGComponent" value="Channel fromTtoA" />
+<TGConnectingPoint num="0" id="198" />
 <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="-1" />
+<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="-1" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -1288,16 +1262,16 @@
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="211" >
-<father id="220" 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="201" >
+<father id="210" num="8" />
+<cdparam x="741" 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" />
-<TGConnectingPoint num="0" id="210" />
+<cdrectangleparam minX="-10" maxX="230" minY="-10" maxY="135" />
+<infoparam name="TGComponent" value="Request start_TCP_IP" />
+<TGConnectingPoint num="0" id="200" />
 <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="-1" />
+<Prop commName="start_TCP_IP" commType="2" origin="true" finite="false" blocking="false" maxSamples="1" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="VOID" associatedEvent="VOID" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" vc="-1" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -1305,6 +1279,32 @@
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
+<SUBCOMPONENT type="1201" id="229" >
+<father id="238" 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="" />
+<TGConnectingPoint num="0" id="211" />
+<TGConnectingPoint num="1" id="212" />
+<TGConnectingPoint num="2" id="213" />
+<TGConnectingPoint num="3" id="214" />
+<TGConnectingPoint num="4" id="215" />
+<TGConnectingPoint num="5" id="216" />
+<TGConnectingPoint num="6" id="217" />
+<TGConnectingPoint num="7" id="218" />
+<TGConnectingPoint num="8" id="219" />
+<TGConnectingPoint num="9" id="220" />
+<TGConnectingPoint num="10" id="221" />
+<TGConnectingPoint num="11" id="222" />
+<TGConnectingPoint num="12" id="223" />
+<TGConnectingPoint num="13" id="224" />
+<TGConnectingPoint num="14" id="225" />
+<TGConnectingPoint num="15" id="226" />
+<TGConnectingPoint num="16" id="227" />
+<TGConnectingPoint num="17" id="228" />
+</SUBCOMPONENT>
 
 
 </TMLComponentTaskDiagramPanel>
@@ -6706,11 +6706,11 @@ the smart card and the terminal
 </COMPONENT>
 <SUBCOMPONENT type="1101" id="1484" >
 <father id="1545" num="0" />
-<cdparam x="286" y="304" />
-<sizeparam width="109" height="50" minWidth="75" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="152" 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" />
 <TGConnectingPoint num="0" id="1476" />
 <TGConnectingPoint num="1" id="1477" />
 <TGConnectingPoint num="2" id="1478" />
@@ -6720,16 +6720,16 @@ the smart card and the terminal
 <TGConnectingPoint num="6" id="1482" />
 <TGConnectingPoint num="7" id="1483" />
 <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="1493" >
 <father id="1545" num="1" />
-<cdparam x="350" y="234" />
-<sizeparam width="139" height="50" minWidth="75" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="351" 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" />
 <TGConnectingPoint num="0" id="1485" />
 <TGConnectingPoint num="1" id="1486" />
 <TGConnectingPoint num="2" id="1487" />
@@ -6739,7 +6739,7 @@ the smart card and the terminal
 <TGConnectingPoint num="6" id="1491" />
 <TGConnectingPoint num="7" id="1492" />
 <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="1502" >
@@ -6763,11 +6763,11 @@ the smart card and the terminal
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1101" id="1511" >
 <father id="1545" num="3" />
-<cdparam x="351" y="153" />
-<sizeparam width="136" height="50" minWidth="75" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="350" 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" />
 <TGConnectingPoint num="0" id="1503" />
 <TGConnectingPoint num="1" id="1504" />
 <TGConnectingPoint num="2" id="1505" />
@@ -6777,16 +6777,16 @@ the smart card and the terminal
 <TGConnectingPoint num="6" id="1509" />
 <TGConnectingPoint num="7" id="1510" />
 <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="1520" >
 <father id="1545" num="4" />
-<cdparam x="152" y="154" />
-<sizeparam width="163" height="50" minWidth="75" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="286" 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" />
 <TGConnectingPoint num="0" id="1512" />
 <TGConnectingPoint num="1" id="1513" />
 <TGConnectingPoint num="2" id="1514" />
@@ -6796,7 +6796,7 @@ the smart card and the terminal
 <TGConnectingPoint num="6" id="1518" />
 <TGConnectingPoint num="7" id="1519" />
 <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>
 
@@ -6998,11 +6998,11 @@ the smart card and the terminal
 </COMPONENT>
 <SUBCOMPONENT type="1101" id="1640" >
 <father id="1683" num="0" />
-<cdparam x="387" y="123" />
-<sizeparam width="136" height="37" minWidth="75" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="272" y="94" />
+<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="124" />
-<infoparam name="TGComponent" value="AppC::SmartCard" />
+<cdrectangleparam minX="0" maxX="164" minY="0" maxY="121" />
+<infoparam name="TGComponent" value="AppC::TCPIP" />
 <TGConnectingPoint num="0" id="1632" />
 <TGConnectingPoint num="1" id="1633" />
 <TGConnectingPoint num="2" id="1634" />
@@ -7012,7 +7012,7 @@ the smart card and the terminal
 <TGConnectingPoint num="6" id="1638" />
 <TGConnectingPoint num="7" id="1639" />
 <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="1649" >
@@ -7036,11 +7036,11 @@ the smart card and the terminal
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1101" id="1658" >
 <father id="1683" num="2" />
-<cdparam x="272" y="94" />
-<sizeparam width="108" height="40" minWidth="75" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="387" y="123" />
+<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="121" />
-<infoparam name="TGComponent" value="AppC::TCPIP" />
+<cdrectangleparam minX="0" maxX="136" minY="0" maxY="124" />
+<infoparam name="TGComponent" value="AppC::SmartCard" />
 <TGConnectingPoint num="0" id="1650" />
 <TGConnectingPoint num="1" id="1651" />
 <TGConnectingPoint num="2" id="1652" />
@@ -7050,7 +7050,7 @@ the smart card and the terminal
 <TGConnectingPoint num="6" id="1656" />
 <TGConnectingPoint num="7" id="1657" />
 <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>
 
@@ -7386,11 +7386,11 @@ the smart card and the terminal
 </COMPONENT>
 <SUBCOMPONENT type="1101" id="1848" >
 <father id="1891" num="0" />
-<cdparam x="340" y="180" />
-<sizeparam width="108" height="40" minWidth="100" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="270" y="75" />
+<sizeparam width="139" height="40" minWidth="100" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="205" minY="0" maxY="161" />
-<infoparam name="TGComponent" value="AppC::TCPIP" />
+<cdrectangleparam minX="0" maxX="174" minY="0" maxY="161" />
+<infoparam name="TGComponent" value="AppC::Application" />
 <TGConnectingPoint num="0" id="1840" />
 <TGConnectingPoint num="1" id="1841" />
 <TGConnectingPoint num="2" id="1842" />
@@ -7400,7 +7400,7 @@ the smart card and the terminal
 <TGConnectingPoint num="6" id="1846" />
 <TGConnectingPoint num="7" id="1847" />
 <extraparam>
-<info value="AppC::TCPIP" taskName="TCPIP" referenceTaskName="AppC" priority="0" operationMEC="Application" fatherComponentMECType="0" />
+<info value="AppC::Application" taskName="Application" referenceTaskName="AppC" priority="0" operationMEC="Application" fatherComponentMECType="0" />
 </extraparam>
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1101" id="1857" >
@@ -7424,11 +7424,11 @@ the smart card and the terminal
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1101" id="1866" >
 <father id="1891" num="2" />
-<cdparam x="270" y="75" />
-<sizeparam width="139" height="40" minWidth="100" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="340" y="180" />
+<sizeparam width="108" height="40" minWidth="100" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="174" minY="0" maxY="161" />
-<infoparam name="TGComponent" value="AppC::Application" />
+<cdrectangleparam minX="0" maxX="205" minY="0" maxY="161" />
+<infoparam name="TGComponent" value="AppC::TCPIP" />
 <TGConnectingPoint num="0" id="1858" />
 <TGConnectingPoint num="1" id="1859" />
 <TGConnectingPoint num="2" id="1860" />
@@ -7438,7 +7438,7 @@ the smart card and the terminal
 <TGConnectingPoint num="6" id="1864" />
 <TGConnectingPoint num="7" id="1865" />
 <extraparam>
-<info value="AppC::Application" taskName="Application" referenceTaskName="AppC" priority="0" operationMEC="Application" fatherComponentMECType="0" />
+<info value="AppC::TCPIP" taskName="TCPIP" referenceTaskName="AppC" priority="0" operationMEC="Application" fatherComponentMECType="0" />
 </extraparam>
 </SUBCOMPONENT>
 
diff --git a/src/main/java/cli/Action.java b/src/main/java/cli/Action.java
index 3534629d59..242a1cdfd0 100644
--- a/src/main/java/cli/Action.java
+++ b/src/main/java/cli/Action.java
@@ -1,26 +1,26 @@
 /* Copyright or (C) or Copr. GET / ENST, Telecom-Paris, Ludovic Apvrille
- * 
+ *
  * ludovic.apvrille AT enst.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,
@@ -31,7 +31,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.
  */
@@ -44,6 +44,8 @@ import common.SpecConfigTTool;
 import launcher.RTLLauncher;
 import myutil.PluginManager;
 import myutil.TraceManager;
+import tmltranslator.TMLMapping;
+import tmltranslator.TMLModeling;
 import ui.MainGUI;
 import ui.util.IconManager;
 import ui.window.JDialogSystemCGeneration;
@@ -61,7 +63,7 @@ import java.util.*;
  *
  * @author Ludovic APVRILLE
  */
-public class Action extends Command  {
+public class Action extends Command {
     // Action commands
     private final static String OPEN = "open";
     private final static String START = "start";
@@ -72,13 +74,14 @@ public class Action extends Command  {
     private final static String DIPLO_ONETRACE_SIMULATION = "diplodocus-onetrace-simulation";
     private final static String DIPLO_GENERATE_TML = "diplodocus-generate-tml";
     private final static String DIPLO_UPPAAL = "diplodocus-uppaal";
+    private final static String DIPLO_REMOVE_NOC = "diplodocus-remove-noc";
 
     private final static String NAVIGATE_PANEL_TO_LEFT = "navigate-panel-to-left";
+    private final static String NAVIGATE_PANEL_TO_RIGHT = "navigate-panel-to-right";
 
     private final static String NAVIGATE_LEFT_PANEL = "navigate-left-panel";
 
 
-
     public Action() {
 
     }
@@ -134,11 +137,19 @@ public class Action extends Command  {
     public void fillSubCommands() {
         // Start
         Command start = new Command() {
-            public String getCommand() { return START; }
-            public String getShortCommand() { return "s"; }
-            public String getDescription() { return "Starting the graphical interface of TTool"; }
+            public String getCommand() {
+                return START;
+            }
+
+            public String getShortCommand() {
+                return "s";
+            }
 
-            public  String executeCommand(String command, Interpreter interpreter) {
+            public String getDescription() {
+                return "Starting the graphical interface of TTool";
+            }
+
+            public String executeCommand(String command, Interpreter interpreter) {
                 if (interpreter.isTToolStarted()) {
                     return Interpreter.TTOOL_ALREADY_STARTED;
                 }
@@ -169,11 +180,19 @@ public class Action extends Command  {
 
         // Open
         Command open = new Command() {
-            public String getCommand() { return OPEN; }
-            public String getShortCommand() { return "o"; }
-            public String getDescription() { return "Opening a model in TTool"; }
+            public String getCommand() {
+                return OPEN;
+            }
+
+            public String getShortCommand() {
+                return "o";
+            }
+
+            public String getDescription() {
+                return "Opening a model in TTool";
+            }
 
-            public  String executeCommand(String command, Interpreter interpreter) {
+            public String executeCommand(String command, Interpreter interpreter) {
                 if (!interpreter.isTToolStarted()) {
                     return Interpreter.TTOOL_NOT_STARTED;
                 }
@@ -186,11 +205,19 @@ public class Action extends Command  {
 
         // Quit
         Command quit = new Command() {
-            public String getCommand() { return QUIT; }
-            public String getShortCommand() { return "q"; }
-            public String getDescription() { return "Closing the graphical interface of TTool"; }
+            public String getCommand() {
+                return QUIT;
+            }
+
+            public String getShortCommand() {
+                return "q";
+            }
+
+            public String getDescription() {
+                return "Closing the graphical interface of TTool";
+            }
 
-            public  String executeCommand(String command, Interpreter interpreter) {
+            public String executeCommand(String command, Interpreter interpreter) {
                 if (!interpreter.isTToolStarted()) {
                     return Interpreter.TTOOL_NOT_STARTED;
                 }
@@ -201,11 +228,19 @@ public class Action extends Command  {
 
         // Check syntax
         Command checkSyntax = new Command() {
-            public String getCommand() { return CHECKSYNTAX; }
-            public String getShortCommand() { return "cs"; }
-            public String getDescription() { return "Checking the syntax of an opened model"; }
+            public String getCommand() {
+                return CHECKSYNTAX;
+            }
+
+            public String getShortCommand() {
+                return "cs";
+            }
 
-            public  String executeCommand(String command, Interpreter interpreter) {
+            public String getDescription() {
+                return "Checking the syntax of an opened model";
+            }
+
+            public String executeCommand(String command, Interpreter interpreter) {
                 if (!interpreter.isTToolStarted()) {
                     return Interpreter.TTOOL_NOT_STARTED;
                 }
@@ -222,11 +257,19 @@ public class Action extends Command  {
 
         // Diplodocus interactive simulation
         Command diplodocusInteractiveSimulation = new Command() {
-            public String getCommand() { return DIPLO_INTERACTIVE_SIMULATION; }
-            public String getShortCommand() { return "dis"; }
-            public String getDescription() { return "Interactive simulation of a DIPLODOCUS model"; }
+            public String getCommand() {
+                return DIPLO_INTERACTIVE_SIMULATION;
+            }
 
-            public  String executeCommand(String command, Interpreter interpreter) {
+            public String getShortCommand() {
+                return "dis";
+            }
+
+            public String getDescription() {
+                return "Interactive simulation of a DIPLODOCUS model";
+            }
+
+            public String executeCommand(String command, Interpreter interpreter) {
                 if (!interpreter.isTToolStarted()) {
                     return Interpreter.TTOOL_NOT_STARTED;
                 }
@@ -247,11 +290,19 @@ public class Action extends Command  {
 
         // Diplodocus interactive simulation
         Command diplodocusFormalVerification = new Command() {
-            public String getCommand() { return DIPLO_FORMAL_VERIFICATION; }
-            public String getShortCommand() { return "dots"; }
-            public String getDescription() { return "Formal verification of a DIPLODOCUS mapping model"; }
+            public String getCommand() {
+                return DIPLO_FORMAL_VERIFICATION;
+            }
+
+            public String getShortCommand() {
+                return "dots";
+            }
 
-            public  String executeCommand(String command, Interpreter interpreter) {
+            public String getDescription() {
+                return "Formal verification of a DIPLODOCUS mapping model";
+            }
+
+            public String executeCommand(String command, Interpreter interpreter) {
                 if (!interpreter.isTToolStarted()) {
                     return Interpreter.TTOOL_NOT_STARTED;
                 }
@@ -272,25 +323,34 @@ public class Action extends Command  {
 
         // Diplodocus interactive simulation
         Command diplodocusOneTraceSimulation = new Command() {
-            public String getCommand() { return DIPLO_ONETRACE_SIMULATION; }
-            public String getShortCommand() { return "dots"; }
-            public String getDescription() { return "One-trace simulation of a DIPLODOCUS model"; }
+            public String getCommand() {
+                return DIPLO_ONETRACE_SIMULATION;
+            }
+
+            public String getShortCommand() {
+                return "dots";
+            }
+
+            public String getDescription() {
+                return "One-trace simulation of a DIPLODOCUS model";
+            }
 
-            public  String executeCommand(String command, Interpreter interpreter) {
+            public String executeCommand(String command, Interpreter interpreter) {
                 if (!interpreter.isTToolStarted()) {
                     return Interpreter.TTOOL_NOT_STARTED;
                 }
 
-                TURTLEPanel tp = interpreter.mgui.getCurrentTURTLEPanel();
+                TMLMapping map = interpreter.mgui.gtm.getTMLMapping();
+                TMLModeling tmlm;
 
-                if (!(tp instanceof TMLArchiPanel)) {
-                    return "Current diagram is invalid for one-trace simulation";
+                if (map == null) {
+                    tmlm = interpreter.mgui.gtm.getTMLModeling();
+                    if (tmlm == null) {
+                        return "No mapping for simulation";
+                    }
                 }
 
-
-                if (interpreter.mgui.checkModelingSyntax(interpreter.mgui.getCurrentTURTLEPanel(), true)) {
-                    interpreter.mgui.generateSystemC(JDialogSystemCGeneration.ONE_TRACE);
-                }
+                interpreter.mgui.generateSystemC(JDialogSystemCGeneration.ONE_TRACE);
 
                 return null;
             }
@@ -298,78 +358,140 @@ public class Action extends Command  {
 
         // Diplodocus generate TML
         Command diplodocusGenerateTML = new Command() {
-            public String getCommand() { return DIPLO_GENERATE_TML; }
-            public String getShortCommand() { return "dgtml"; }
-            public String getDescription() { return "Generate the TML code of a diplodocus model"; }
+            public String getCommand() {
+                return DIPLO_GENERATE_TML;
+            }
 
-            public  String executeCommand(String command, Interpreter interpreter) {
+            public String getShortCommand() {
+                return "dgtml";
+            }
+
+            public String getDescription() {
+                return "Generate the TML code of a diplodocus model";
+            }
+
+            public String executeCommand(String command, Interpreter interpreter) {
                 if (!interpreter.isTToolStarted()) {
                     return Interpreter.TTOOL_NOT_STARTED;
                 }
 
-                TURTLEPanel tp = interpreter.mgui.getCurrentTURTLEPanel();
-
-                if ((!(tp instanceof TMLArchiPanel)) &&  (!(tp instanceof TMLComponentDesignPanel))){
-                    return "Current diagram is invalid for generating TML";
-                }
+                TMLMapping map = interpreter.mgui.gtm.getTMLMapping();
+                TMLModeling tmlm;
 
-                if (interpreter.mgui.checkModelingSyntax(interpreter.mgui.getCurrentTURTLEPanel(), true)) {
-                    String tmp = interpreter.mgui.generateTMLTxt();
-                    if (tmp == null) {
-                        return "TML generation failed";
-                    } else {
-                        return "TML spec generated in: " + tmp;
+                if (map == null) {
+                    tmlm = interpreter.mgui.gtm.getTMLModeling();
+                    if (tmlm == null) {
+                        return "No model for simulation";
                     }
+                }
 
+                String tmp = interpreter.mgui.generateTMLTxt();
+                if (tmp == null) {
+                    return "TML generation failed";
+                } else {
+                    return "TML spec generated in: " + tmp;
                 }
 
-                return null;
+                //}
+
+                //return null;
             }
         };
 
         // Diplodocus uppaal
         Command diplodocusUPPAAL = new Command() {
-            public String getCommand() { return DIPLO_UPPAAL; }
-            public String getShortCommand() { return "du"; }
-            public String getDescription() { return "Use UPPAAL for formal verification of a DIPLO app"; }
+            public String getCommand() {
+                return DIPLO_UPPAAL;
+            }
+
+            public String getShortCommand() {
+                return "du";
+            }
+
+            public String getDescription() {
+                return "Use UPPAAL for formal verification of a DIPLO app";
+            }
 
-            public  String executeCommand(String command, Interpreter interpreter) {
+            public String executeCommand(String command, Interpreter interpreter) {
                 if (!interpreter.isTToolStarted()) {
                     return Interpreter.TTOOL_NOT_STARTED;
                 }
 
-                TURTLEPanel tp = interpreter.mgui.getCurrentTURTLEPanel();
+                TMLMapping map = interpreter.mgui.gtm.getTMLMapping();
+                TMLModeling tmlm;
 
-                if (tp == null) {
-                    return "No diagram to verify";
+                if (map == null) {
+                    tmlm = interpreter.mgui.gtm.getTMLModeling();
+                    if (tmlm == null) {
+                        return "No model for simulation";
+                    }
                 }
 
-                if (!(tp instanceof TMLComponentDesignPanel)) {
-                    return "Current diagram is invalid for UPPAAL verification";
+                String tmp = interpreter.mgui.generateTMLTxt();
+                boolean result = interpreter.mgui.gtm.generateUPPAALFromTML(SpecConfigTTool.UPPAALCodeDirectory, false, 8, false);
+
+                if (!result) {
+                    interpreter.print("UPPAAL verification failed");
+                } else {
+                    interpreter.print("UPPAAL verification done");
                 }
 
-                if (interpreter.mgui.checkModelingSyntax(tp, true)) {
-                    String tmp = interpreter.mgui.generateTMLTxt();
-                    boolean result = interpreter.mgui.gtm.generateUPPAALFromTML(SpecConfigTTool.UPPAALCodeDirectory, false, 8, false);
+                //}
 
-                    if (!result) {
-                        interpreter.print("UPPAAL verification failed");
-                    } else {
-                        interpreter.print("UPPAAL verification done");
-                    }
+                return null;
+            }
+        };
+
+        // Diplodocus generate TML
+        Command diplodocusRemoveNoC = new Command() {
+            public String getCommand() {
+                return DIPLO_REMOVE_NOC;
+            }
+
+            public String getShortCommand() {
+                return "drn";
+            }
+
+            public String getDescription() {
+                return "Remove the NoCs of a diplodocus mapping";
+            }
 
+            public String executeCommand(String command, Interpreter interpreter) {
+                if (!interpreter.isTToolStarted()) {
+                    return Interpreter.TTOOL_NOT_STARTED;
                 }
 
+                TMLMapping map = interpreter.mgui.gtm.getTMLMapping();
+                TMLModeling tmlm;
+
+                if (map == null) {
+                    tmlm = interpreter.mgui.gtm.getTMLModeling();
+                    if (tmlm == null) {
+                        return "No model for simulation";
+                    }
+                }
+
+                interpreter.mgui.removeNoC(true);
+
                 return null;
             }
         };
 
+
         Command movePanelToTheLeftPanel = new Command() {
-            public String getCommand() { return NAVIGATE_PANEL_TO_LEFT; }
-            public String getShortCommand() { return "nptf"; }
-            public String getDescription() { return "Select the edition panel on the left"; }
+            public String getCommand() {
+                return NAVIGATE_PANEL_TO_LEFT;
+            }
+
+            public String getShortCommand() {
+                return "nptf";
+            }
 
-            public  String executeCommand(String command, Interpreter interpreter) {
+            public String getDescription() {
+                return "Select the edition panel on the left";
+            }
+
+            public String executeCommand(String command, Interpreter interpreter) {
                 if (!interpreter.isTToolStarted()) {
                     return Interpreter.TTOOL_NOT_STARTED;
                 }
@@ -380,6 +502,32 @@ public class Action extends Command  {
             }
         };
 
+        Command movePanelToTheRightPanel = new Command() {
+            public String getCommand() {
+                return NAVIGATE_PANEL_TO_RIGHT;
+            }
+
+            public String getShortCommand() {
+                return "nptl";
+            }
+
+            public String getDescription() {
+                return "Select the edition panel on the right";
+            }
+
+            public String executeCommand(String command, Interpreter interpreter) {
+                if (!interpreter.isTToolStarted()) {
+                    return Interpreter.TTOOL_NOT_STARTED;
+                }
+
+                interpreter.mgui.requestMoveRightTab(interpreter.mgui.getCurrentJTabbedPane().getSelectedIndex());
+
+                return null;
+            }
+        };
+
+
+
         Command generic = new Generic();
 
 
@@ -392,8 +540,11 @@ public class Action extends Command  {
         addAndSortSubcommand(diplodocusOneTraceSimulation);
         addAndSortSubcommand(diplodocusGenerateTML);
         addAndSortSubcommand(diplodocusUPPAAL);
+        addAndSortSubcommand(diplodocusRemoveNoC);
         addAndSortSubcommand(movePanelToTheLeftPanel);
+        addAndSortSubcommand(movePanelToTheRightPanel);
         addAndSortSubcommand(generic);
 
     }
+
 }
diff --git a/src/main/java/common/ConfigurationTTool.java b/src/main/java/common/ConfigurationTTool.java
index 468b9eeb17..95bdffac96 100755
--- a/src/main/java/common/ConfigurationTTool.java
+++ b/src/main/java/common/ConfigurationTTool.java
@@ -101,6 +101,7 @@ public class ConfigurationTTool {
     public static String CCodeDirectory = "";
     public static String SystemCCodeCompileCommand = "";
     public static String SystemCCodeExecuteCommand = "";
+    public static String SystemCCodeExecuteXCycle = "";
     public static String SystemCCodeInteractiveExecuteCommand = "";
     public static String SystemCHost = "";
     public static String VCDPath = "";
@@ -473,6 +474,7 @@ public class ConfigurationTTool {
             sb.append("SystemCHost: " + SystemCHost + "\n");
             sb.append("SystemCCodeCompileCommand: " + SystemCCodeCompileCommand + "\n");
             sb.append("SystemCCodeExecuteCommand: " + SystemCCodeExecuteCommand + "\n");
+            sb.append("SystemCCodeExecuteXCycle: " + SystemCCodeExecuteXCycle + "\n");
             sb.append("SystemCCodeInteractiveExecuteCommand: " + SystemCCodeInteractiveExecuteCommand + "\n");
             sb.append("GTKWavePath: " + GTKWavePath + "\n");
             // TML
@@ -728,6 +730,9 @@ public class ConfigurationTTool {
                 nl = doc.getElementsByTagName("SystemCCodeExecuteCommand");
                 if (nl.getLength() > 0)
                     SystemCCodeExecuteCommand(nl);
+                nl = doc.getElementsByTagName("SystemCCodeExecuteXCycle");
+                if (nl.getLength() > 0)
+                    SystemCCodeExecuteXCycle(nl);
                 nl = doc.getElementsByTagName("SystemCCodeInteractiveExecuteCommand");
                 if (nl.getLength() > 0)
                     SystemCCodeInteractiveExecuteCommand(nl);
@@ -1226,6 +1231,15 @@ public class ConfigurationTTool {
         }
     }
 
+    private static void SystemCCodeExecuteXCycle(NodeList nl) throws MalformedConfigurationException {
+        try {
+            Element elt = (Element) (nl.item(0));
+            SystemCCodeExecuteXCycle = elt.getAttribute("data");
+        } catch (Exception e) {
+            throw new MalformedConfigurationException(e.getMessage());
+        }
+    }
+
     private static void SystemCCodeInteractiveExecuteCommand(NodeList nl) throws MalformedConfigurationException {
         try {
             Element elt = (Element) (nl.item(0));
diff --git a/src/main/java/common/SpecConfigTTool.java b/src/main/java/common/SpecConfigTTool.java
index bebcaee180..afa1c29076 100644
--- a/src/main/java/common/SpecConfigTTool.java
+++ b/src/main/java/common/SpecConfigTTool.java
@@ -68,6 +68,7 @@ public class SpecConfigTTool {
     public static String SystemCCodeDirectory = "";
     public static String SystemCCodeCompileCommand = "";
     public static String SystemCCodeExecuteCommand = "";
+    public static String SystemCCodeExecuteXCycle = "";
     public static String SystemCCodeInteractiveExecuteCommand = "";
 
     public static String CCodeDirectory = "";
@@ -124,6 +125,7 @@ public class SpecConfigTTool {
         SystemCCodeDirectory = ConfigurationTTool.SystemCCodeDirectory;
         SystemCCodeCompileCommand = ConfigurationTTool.SystemCCodeCompileCommand;
         SystemCCodeExecuteCommand = ConfigurationTTool.SystemCCodeExecuteCommand;
+        SystemCCodeExecuteXCycle = ConfigurationTTool.SystemCCodeExecuteXCycle;
         SystemCCodeInteractiveExecuteCommand = ConfigurationTTool.SystemCCodeInteractiveExecuteCommand;
 
         CCodeDirectory = ConfigurationTTool.CCodeDirectory;
@@ -179,6 +181,9 @@ public class SpecConfigTTool {
                 ConfigurationTTool.SystemCCodeDirectory, SystemCCodeDirectory);
         //TraceManager.addDev("After replace SystemCCodeCompileCommand:" + SystemCCodeCompileCommand);
         SystemCCodeExecuteCommand = ConfigurationTTool.SystemCCodeExecuteCommand.replace(ConfigurationTTool.SystemCCodeDirectory, SystemCCodeDirectory);
+        SystemCCodeExecuteXCycle = ConfigurationTTool.SystemCCodeExecuteXCycle.replace(ConfigurationTTool.SystemCCodeDirectory,
+                SystemCCodeDirectory);
+
         SystemCCodeInteractiveExecuteCommand = ConfigurationTTool.SystemCCodeInteractiveExecuteCommand.replace(ConfigurationTTool.SystemCCodeDirectory, SystemCCodeDirectory);
 
         AVATARExecutableCodeExecuteCommand = ConfigurationTTool.AVATARExecutableCodeExecuteCommand.replace(ConfigurationTTool.AVATARExecutableCodeDirectory, AVATARExecutableCodeDirectory);
@@ -549,6 +554,7 @@ public class SpecConfigTTool {
             sb.append("SystemCCodeDirectory: " + SystemCCodeDirectory + "\n");
             sb.append("SystemCCodeCompileCommand: " + SystemCCodeCompileCommand + "\n");
             sb.append("SystemCCodeExecuteCommand: " + SystemCCodeExecuteCommand + "\n");
+            sb.append("SystemCCodeExecuteXCycleCommand: " + SystemCCodeExecuteXCycle + "\n");
             sb.append("SystemCCodeInteractiveExecuteCommand: " + SystemCCodeInteractiveExecuteCommand + "\n");
             // TML
             sb.append("TMLCodeDirectory: " + TMLCodeDirectory + "\n");
diff --git a/src/main/java/tmltranslator/tonetwork/TaskINForVC.java b/src/main/java/tmltranslator/tonetwork/TaskINForVC.java
index 81f09f2d3c..21729d3177 100644
--- a/src/main/java/tmltranslator/tonetwork/TaskINForVC.java
+++ b/src/main/java/tmltranslator/tonetwork/TaskINForVC.java
@@ -217,7 +217,8 @@ public class TaskINForVC extends TMLTask {
             int index = outIndexes.get(i);
             TMLForLoop packetLoop = new TMLForLoop("packetLoop", referenceObject);
             packetLoop.setInit("j=0");
-            packetLoop.setCondition("j<pktlen-1");
+            packetLoop.setCondition("j<pktlen");
+            //packetLoop.setCondition("j<pktlen-1");
             packetLoop.setIncrement("j=j+1");
             activity.addLinkElement(mainChoice, packetLoop);
             mainChoice.addGuard("requestedOutput == " + index);
@@ -233,58 +234,80 @@ public class TaskINForVC extends TMLTask {
             sendEvt.addParam("chid");
             activity.addLinkElement(packetLoop, sendEvt);
 
-            waitEvt = new TMLWaitEvent("FeedbackDownEvent", referenceObject);
-            waitEvt.setEvent(inFeedbackEvents.get(i));
-            activity.addLinkElement(sendEvt, waitEvt);
-
-            sendEvt = new TMLSendEvent("feedbackUpEvent", referenceObject);
-            sendEvt.setEvent(outFeedbackEvent);
-            activity.addLinkElement(waitEvt, sendEvt);
+            //waitEvt = new TMLWaitEvent("FeedbackDownEvent", referenceObject);
+            //waitEvt.setEvent(inFeedbackEvents.get(i));
+            //activity.addLinkElement(sendEvt, waitEvt);
+            // Rewrite of the 3 lines above:
+            TMLWaitEvent waitFeedback = new TMLWaitEvent("FeedbackDownEvent", referenceObject);
+            waitFeedback.setEvent(inFeedbackEvents.get(i));
+            activity.addLinkElement(sendEvt, waitFeedback);
 
+            // EDITED: swapped the 2 next steps and updated addLink() calls for
+            // 3next steps
             TMLReadChannel read = new TMLReadChannel("ReadFlit" + i, referenceObject);
             read.addChannel(inChannel);
             read.setNbOfSamples("1");
-            activity.addLinkElement(sendEvt, read);
-
-            waitEvt = new TMLWaitEvent("PacketEventInLoop", referenceObject);
-            waitEvt.setEvent(inPacketEvent);
-            waitEvt.addParam("pktlen");
-            waitEvt.addParam("dstX");
-            waitEvt.addParam("dstY");
-            waitEvt.addParam("vc");
-            waitEvt.addParam("eop");
-            waitEvt.addParam("chid");
-            activity.addLinkElement(read, waitEvt);
-
-            stop = new TMLStopState("StopStateInLoop", referenceObject);
-            activity.addLinkElement(waitEvt, stop);
+            activity.addLinkElement(waitFeedback, read);
 
-            // After packetloop
-            sendEvt = new TMLSendEvent("infoOnPacketO", referenceObject);
-            sendEvt.setEvent(outVCEvents.get(i));
-            sendEvt.addParam("pktlen");
-            sendEvt.addParam("dstX");
-            sendEvt.addParam("dstY");
-            sendEvt.addParam("vc");
-            sendEvt.addParam("eop");
-            sendEvt.addParam("chid");
-            activity.addLinkElement(loop, sendEvt);
-
-            waitEvt = new TMLWaitEvent("FeedbackDownEventO", referenceObject);
-            waitEvt.setEvent(inFeedbackEvents.get(i));
-            activity.addLinkElement(sendEvt, waitEvt);
-
-            sendEvt = new TMLSendEvent("feedbackUpEventO", referenceObject);
+            sendEvt = new TMLSendEvent("feedbackUpEvent", referenceObject);
             sendEvt.setEvent(outFeedbackEvent);
-            activity.addLinkElement(waitEvt, sendEvt);
-
-            read = new TMLReadChannel("ReadFlitO" + i, referenceObject);
-            read.addChannel(inChannel);
-            read.setNbOfSamples("1");
-            activity.addLinkElement(sendEvt, read);
+            activity.addLinkElement(read, sendEvt);
+
+            TMLChoice lastFlitTransmited = new TMLChoice("lastFlitTransmited", referenceObject);
+            activity.addLinkElement(sendEvt, lastFlitTransmited);
+
+            // if current flit is the last one, exit
+            TMLStopState stopAfterLastFlit = new TMLStopState("StopLastFlit", referenceObject);
+            activity.addLinkElement(lastFlitTransmited, stopAfterLastFlit);
+            lastFlitTransmited.addGuard("eop == 1");
+
+            // if current flit is not the last one, wait for next flit event
+            // TODO: link with TMLChoice
+            TMLWaitEvent waitNextFlit = new TMLWaitEvent("PacketEventInLoop", referenceObject);
+            waitNextFlit.setEvent(inPacketEvent);
+            waitNextFlit.addParam("pktlen");
+            waitNextFlit.addParam("dstX");
+            waitNextFlit.addParam("dstY");
+            waitNextFlit.addParam("vc");
+            waitNextFlit.addParam("eop");
+            waitNextFlit.addParam("chid");
+            activity.addLinkElement(lastFlitTransmited, waitNextFlit);
+            lastFlitTransmited.addGuard("eop == 0");
 
+            stop = new TMLStopState("StopStateInLoop", referenceObject);
+            activity.addLinkElement(waitNextFlit, stop);
+
+
+            //// After packetloop
+            //sendEvt = new TMLSendEvent("infoOnPacketO", referenceObject);
+            //sendEvt.setEvent(outVCEvents.get(i));
+            //sendEvt.addParam("pktlen");
+            //sendEvt.addParam("dstX");
+            //sendEvt.addParam("dstY");
+            //sendEvt.addParam("vc");
+            //sendEvt.addParam("eop");
+            //sendEvt.addParam("chid");
+            //activity.addLinkElement(loop, sendEvt); // <<< BUG HERE -- `loop`
+            //                                        // should be `packetLoop`
+
+            //waitEvt = new TMLWaitEvent("FeedbackDownEventO", referenceObject);
+            //waitEvt.setEvent(inFeedbackEvents.get(i));
+            //activity.addLinkElement(sendEvt, waitEvt);
+
+            //// EDITED: swapped the 2 next steps and updated addLink() calls for
+            //// 3next steps
+            //read = new TMLReadChannel("ReadFlitO" + i, referenceObject);
+            //read.addChannel(inChannel);
+            //read.setNbOfSamples("1");
+            //activity.addLinkElement(waitEvt, read);
+
+            //sendEvt = new TMLSendEvent("feedbackUpEventO", referenceObject);
+            //sendEvt.setEvent(outFeedbackEvent);
+            //activity.addLinkElement(read, sendEvt);
+
+            // EDITED to connect to loop
             stop = new TMLStopState("StopStateOutLoop", referenceObject);
-            activity.addLinkElement(read, stop);
+            activity.addLinkElement(packetLoop, stop);
 
         }
 
diff --git a/src/main/java/ui/MainGUI.java b/src/main/java/ui/MainGUI.java
index 8487e2990e..88b754e658 100644
--- a/src/main/java/ui/MainGUI.java
+++ b/src/main/java/ui/MainGUI.java
@@ -4895,8 +4895,11 @@ public class MainGUI implements ActionListener, WindowListener, KeyListener, Per
         dtree.toBeUpdated();
     }
 
-
     public void removeNoC() {
+        removeNoC(false);
+    }
+
+    public void removeNoC(boolean automatic) {
         //TraceManager.addDev("Design space exploration with Z3");
         if (gtm == null) {
             return;
@@ -4911,7 +4914,11 @@ public class MainGUI implements ActionListener, WindowListener, KeyListener, Per
         JDialogNoCManagement jdsenm = new JDialogNoCManagement(frame, this, "Removing NoC", map);
         //   jdsez3.setSize(600,800);
         GraphicLib.centerOnParent(jdsenm, 700, 800);
-        jdsenm.setVisible(true);
+        if (automatic) {
+            jdsenm.setVisible(true);
+        } else {
+            jdsenm.startProcess();
+        }
         dtree.toBeUpdated();
     }
 
@@ -5049,7 +5056,8 @@ public class MainGUI implements ActionListener, WindowListener, KeyListener, Per
             }
         }
 
-        JDialogJavaGeneration jgen = new JDialogJavaGeneration(frame, this, "Java code generation and compilation", ConfigurationTTool.JavaCodeDirectory, ConfigurationTTool.JavaCompilerPath, ConfigurationTTool.TToolClassPath, ConfigurationTTool.JavaExecutePath, ConfigurationTTool.JavaHeader);
+        JDialogJavaGeneration jgen = new JDialogJavaGeneration(frame, this, "Java code generation and compilation", ConfigurationTTool.JavaCodeDirectory, ConfigurationTTool.JavaCompilerPath, ConfigurationTTool.TToolClassPath,
+                ConfigurationTTool.JavaExecutePath, ConfigurationTTool.JavaHeader);
         //  jgen.setSize(450, 600);
         GraphicLib.centerOnParent(jgen, 450, 600);
         jgen.setVisible(true);
@@ -5084,7 +5092,8 @@ public class MainGUI implements ActionListener, WindowListener, KeyListener, Per
         } else if ((tp instanceof TMLDesignPanel) || (tp instanceof TMLComponentDesignPanel) || (tp instanceof TMLArchiPanel)) {
             JDialogSystemCGeneration jgen = new JDialogSystemCGeneration(frame, this, "Simulation Code Generation and Compilation",
                     ConfigurationTTool.SystemCHost, SpecConfigTTool.SystemCCodeDirectory, SpecConfigTTool.SystemCCodeCompileCommand,
-                    SpecConfigTTool.SystemCCodeExecuteCommand, SpecConfigTTool.SystemCCodeInteractiveExecuteCommand, SpecConfigTTool.GGraphPath, _mode);
+                    SpecConfigTTool.SystemCCodeExecuteCommand, SpecConfigTTool.SystemCCodeExecuteXCycle, SpecConfigTTool
+                    .SystemCCodeInteractiveExecuteCommand, SpecConfigTTool.GGraphPath, _mode);
             //jgen.setSize(500, 750);
             GraphicLib.centerOnParent(jgen, 700, 750);
             jgen.setVisible(true);
@@ -5105,18 +5114,23 @@ public class MainGUI implements ActionListener, WindowListener, KeyListener, Per
         List<Point> points = getListOfBreakPoints();
 
         if (gtm == null) {
-            jfis = new JFrameInteractiveSimulation(frame, this, "Interactive simulation", ConfigurationTTool.SystemCHost, executePath, null, points);
+            jfis = new JFrameInteractiveSimulation(frame, this, "Interactive simulation", ConfigurationTTool.SystemCHost, executePath,
+                     null,
+                    points);
         } else {
             //TraceManager.addDev("toto1");
             if (gtm.getTMLMapping() != null) {
-                jfis = new JFrameInteractiveSimulation(frame, this, "Interactive simulation", ConfigurationTTool.SystemCHost, executePath, gtm.getTMLMapping(), points);
+                jfis = new JFrameInteractiveSimulation(frame, this, "Interactive simulation", ConfigurationTTool.SystemCHost,
+                        executePath,  gtm.getTMLMapping(), points);
             } else {
                 //TraceManager.addDev("toto2");
                 if (gtm.getArtificialTMLMapping() != null) {
-                    jfis = new JFrameInteractiveSimulation(frame, this, "Interactive simulation", ConfigurationTTool.SystemCHost, executePath, gtm.getArtificialTMLMapping(), points);
+                    jfis = new JFrameInteractiveSimulation(frame, this, "Interactive simulation", ConfigurationTTool.SystemCHost,
+                            executePath,  gtm.getArtificialTMLMapping(), points);
                 } else {
                     //TraceManager.addDev("toto3");
-                    jfis = new JFrameInteractiveSimulation(frame, this, "Interactive simulation", ConfigurationTTool.SystemCHost, executePath, null, points);
+                    jfis = new JFrameInteractiveSimulation(frame, this, "Interactive simulation", ConfigurationTTool.SystemCHost,
+                             executePath, null, points);
                 }
             }
         }
diff --git a/src/main/java/ui/window/JDialogSystemCGeneration.java b/src/main/java/ui/window/JDialogSystemCGeneration.java
index ab7e8f51c7..fffdeaf602 100644
--- a/src/main/java/ui/window/JDialogSystemCGeneration.java
+++ b/src/main/java/ui/window/JDialogSystemCGeneration.java
@@ -94,6 +94,7 @@ public class JDialogSystemCGeneration extends JDialog implements ActionListener,
     private static String textSysC1 = "Generate C++ simulator code in";
     private static String textSysC2 = "Compile C++ simulator  code in";
     private static String textSysC4 = "Run simulation to completion:";
+    private static String textSysC4bis = "Run simulation for x cycles:";
     private static String textSysC5 = "Run interactive simulation:";
     private static String textSysC6 = "Run formal verification:";
 
@@ -106,6 +107,7 @@ public class JDialogSystemCGeneration extends JDialog implements ActionListener,
     protected static String pathCode;
     protected static String pathCompiler;
     protected static String pathExecute;
+    protected static String pathXCycle;
     protected static String pathInteractiveExecute;
     protected static String pathFormalExecute;
 
@@ -125,10 +127,10 @@ public class JDialogSystemCGeneration extends JDialog implements ActionListener,
     protected JButton stop;
     protected JButton close;
 
-    protected JRadioButton exe, exeint, exeformal;
+    protected JRadioButton exe, exeBis, exeint, exeformal;
     protected ButtonGroup exegroup;
     protected JLabel gen, comp;
-    protected JTextField code1, code2, unitcycle, compiler1, exe1, exe2, exe3, exe2int, exe2formal;
+    protected JTextField code1, code2, unitcycle, compiler1, exe1, exe2, exe2Bis, exe3, exe2int, exe2formal;
     protected JTabbedPane tabbedPane;
     protected JScrollPane jsp;
     protected JCheckBox removeCppFiles, removeXFiles, debugmode, optimizemode, activatePenalties;
@@ -166,6 +168,7 @@ public class JDialogSystemCGeneration extends JDialog implements ActionListener,
     public final static int ONE_TRACE = 1;
     public final static int ANIMATION = 2;
     public final static int FORMAL_VERIFICATION = 3;
+    public final static int ONE_TRACE_CYCLE = 4;
 
     private int automatic;
     //  private boolean wasClosed = false;
@@ -175,7 +178,7 @@ public class JDialogSystemCGeneration extends JDialog implements ActionListener,
      * Creates new form
      */
     public JDialogSystemCGeneration(Frame f, MainGUI _mgui, String title, String _simulatorHost, String _pathCode,
-                                    String _pathCompiler, String _pathExecute, String _pathInteractiveExecute,
+                                    String _pathCompiler, String _pathExecute, String _pathXCycle, String _pathInteractiveExecute,
                                     String _graphPath, int _automatic) {
         super(f, title, true);
 
@@ -194,6 +197,7 @@ public class JDialogSystemCGeneration extends JDialog implements ActionListener,
         }
 
         pathExecute = _pathExecute;
+        pathXCycle = _pathXCycle;
 
         if (_graphPath != null) {
             _pathInteractiveExecute += " -gpath " + _graphPath;
@@ -475,10 +479,19 @@ public class JDialogSystemCGeneration extends JDialog implements ActionListener,
         exe.addActionListener(this);
         exegroup.add(exe);
         jp03.add(exe, c03);
+        
 
         exe2 = new JTextField(pathExecute, 100);
         jp03.add(exe2, c02);
 
+        exeBis = new JRadioButton(textSysC4bis, false);
+        exe.addActionListener(this);
+        exegroup.add(exeBis);
+        jp03.add(exeBis, c03);
+
+        exe2Bis = new JTextField(pathXCycle, 100);
+        jp03.add(exe2Bis, c02);
+
 
         exeint = new JRadioButton(textSysC5, true);
         exeint.addActionListener(this);
@@ -559,6 +572,7 @@ public class JDialogSystemCGeneration extends JDialog implements ActionListener,
     public void updateInteractiveSimulation() {
         if (automatic == 0) {
             exe2.setEnabled(exe.isSelected());
+            exe2Bis.setEnabled(exeBis.isSelected());
             exe2int.setEnabled(exeint.isSelected());
             exe2formal.setEnabled(exeformal.isSelected());
         }
@@ -955,7 +969,9 @@ public class JDialogSystemCGeneration extends JDialog implements ActionListener,
         if (toDo == 0) {
             if (exe.isSelected()) {
                 toDo = ONE_TRACE;
-            } else if (exeint.isSelected()) {
+            } else if (exeBis.isSelected()) {
+                toDo = ONE_TRACE_CYCLE;
+            } if (exeint.isSelected()) {
                 toDo = ANIMATION;
             } else {
                 toDo = FORMAL_VERIFICATION;
@@ -969,6 +985,12 @@ public class JDialogSystemCGeneration extends JDialog implements ActionListener,
                 SpecConfigTTool.lastVCD = tab[2];
                 //SpecConfigTTool.ExternalCommand1 = "gtkwave " + SpecConfigTTool.lastVCD;
                 break;
+            case ONE_TRACE_CYCLE:
+                executeSimulationCmd(exe2.getText(), "Executing one simulation trace for a limited duration");
+                String[] tab1 = exe2.getText().split(" ");
+                SpecConfigTTool.lastVCD = tab1[2];
+                //SpecConfigTTool.ExternalCommand1 = "gtkwave " + SpecConfigTTool.lastVCD;
+                break;
             case ANIMATION:
                 updateStaticList();
                 optimizeModeSelected = optimizemode.isSelected();
-- 
GitLab