From 612b9d6248bdba0685ab07fb0b79853f792a47bd Mon Sep 17 00:00:00 2001
From: apvrille <ludovic.apvrille@eurecom.fr>
Date: Wed, 10 Jan 2018 15:09:10 +0100
Subject: [PATCH] Adding graphs saving support for minimization and test
 sequences

---
 modeling/DIPLODOCUS/SmartCardProtocol.xml     | 4842 +++++++++--------
 .../tomappingsystemc2/TML2MappingSystemC.java |  479 +-
 src/main/java/ui/ErrorHighlight.java          |    4 +-
 src/main/java/ui/JMenuBarTurtle.java          |   21 +-
 src/main/java/ui/MainGUI.java                 |    4 +-
 src/main/java/ui/TGUIAction.java              |    2 +-
 src/main/java/ui/graph/AUTGraph.java          |  456 +-
 src/main/java/ui/graph/RG.java                |  103 +-
 src/main/java/ui/tree/JDiagramTree.java       |   79 +-
 .../ui/window/JDialogAvatarModelChecker.java  |  254 +-
 src/main/java/ui/window/JFrameMinimize.java   |  458 +-
 .../java/ui/window/JFrameRefusalGraph.java    |  197 +-
 12 files changed, 3543 insertions(+), 3356 deletions(-)

diff --git a/modeling/DIPLODOCUS/SmartCardProtocol.xml b/modeling/DIPLODOCUS/SmartCardProtocol.xml
index 2b63d09a41..93f0174acc 100755
--- a/modeling/DIPLODOCUS/SmartCardProtocol.xml
+++ b/modeling/DIPLODOCUS/SmartCardProtocol.xml
@@ -8,192 +8,192 @@
 <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="522" y="390" id="60" />
-<P2  x="468" y="336" id="39" />
+<P1  x="535" y="377" id="200" />
+<P2  x="455" y="323" id="47" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="126" id="2" >
 <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="402" y="84" id="37" />
-<P2  x="593" y="85" id="186" />
+<P1  x="402" y="84" id="49" />
+<P2  x="593" y="85" id="82" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="126" id="3" >
 <cdparam x="652" y="444" />
 <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="816" y="554" id="89" />
-<P2  x="971" y="502" id="152" />
+<P1  x="805" y="544" id="179" />
+<P2  x="971" y="481" id="107" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="126" id="4" >
 <cdparam x="652" y="418" />
 <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="816" y="522" id="87" />
-<P2  x="922" y="482" id="154" />
+<P1  x="805" y="512" id="181" />
+<P2  x="932" y="472" id="105" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="126" id="5" >
 <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="752" y="408" id="79" />
-<P2  x="831" y="376" id="103" />
+<P1  x="752" y="408" id="189" />
+<P2  x="844" y="363" id="150" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="126" id="6" >
 <cdparam x="685" y="310" />
 <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="857" y="376" id="107" />
-<P2  x="922" y="368" id="144" />
+<P1  x="844" y="389" id="154" />
+<P2  x="932" y="358" id="115" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="126" id="7" >
 <cdparam x="652" y="395" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="Connector between ports" />
-<P1  x="816" y="493" id="83" />
-<P2  x="922" y="459" id="146" />
+<P1  x="805" y="483" id="185" />
+<P2  x="932" y="449" id="113" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="126" id="8" >
 <cdparam x="652" y="369" />
 <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="816" y="461" id="85" />
-<P2  x="922" y="432" id="148" />
+<P1  x="805" y="451" id="183" />
+<P2  x="932" y="422" id="111" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="126" id="9" >
 <cdparam x="737" y="314" />
 <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="922" y="403" id="150" />
-<P2  x="816" y="432" id="81" />
+<P1  x="932" y="393" id="109" />
+<P2  x="805" y="422" id="187" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="126" id="10" >
 <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="919" y="336" id="142" />
-<P2  x="749" y="284" id="198" />
+<P1  x="932" y="323" id="117" />
+<P2  x="736" y="271" id="70" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="126" id="11" >
 <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="749" y="248" id="200" />
-<P2  x="919" y="297" id="140" />
+<P1  x="736" y="235" id="68" />
+<P2  x="932" y="284" id="119" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="126" id="12" >
 <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="749" y="204" id="202" />
-<P2  x="919" y="254" id="138" />
+<P1  x="736" y="191" id="66" />
+<P2  x="932" y="241" id="121" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="126" id="13" >
 <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="831" y="376" id="102" />
-<P2  x="749" y="315" id="204" />
+<P1  x="844" y="363" id="149" />
+<P2  x="736" y="302" id="64" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="126" id="14" >
 <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="522" y="304" id="194" />
-<P2  x="468" y="304" id="45" />
+<P1  x="535" y="291" id="74" />
+<P2  x="455" y="291" id="41" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="126" id="15" >
 <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="466" y="127" id="49" />
-<P2  x="525" y="127" id="206" />
+<P1  x="455" y="117" id="37" />
+<P2  x="535" y="117" id="62" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="126" id="16" >
 <cdparam x="389" y="200" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="Connector between ports" />
-<P1  x="468" y="216" id="43" />
-<P2  x="522" y="216" id="192" />
+<P1  x="455" y="203" id="43" />
+<P2  x="535" y="203" id="76" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="126" id="17" >
 <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="522" y="261" id="190" />
-<P2  x="468" y="261" id="41" />
+<P1  x="535" y="248" id="78" />
+<P2  x="455" y="248" id="45" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="126" id="18" >
 <cdparam x="460" y="296" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="Connector between ports" />
-<P1  x="536" y="349" id="188" />
-<P2  x="548" y="390" id="65" />
+<P1  x="536" y="323" id="80" />
+<P2  x="535" y="403" id="205" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="126" id="19" >
 <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="468" y="170" id="47" />
-<P2  x="522" y="170" id="196" />
+<P1  x="455" y="157" id="39" />
+<P2  x="535" y="157" id="72" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="126" id="20" >
 <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="919" y="204" id="136" />
-<P2  x="749" y="125" id="184" />
+<P1  x="932" y="191" id="123" />
+<P2  x="736" y="112" id="84" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="126" id="21" >
 <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="347" id="208" />
-<P2  x="671" y="408" id="91" />
+<P1  x="630" y="326" id="60" />
+<P2  x="671" y="408" id="177" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="126" id="22" >
 <cdparam x="1304" y="321" />
 <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="1224" y="379" id="121" />
-<P2  x="1180" y="386" id="156" />
+<P1  x="1234" y="369" id="138" />
+<P2  x="1169" y="376" id="103" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="126" id="23" >
 <cdparam x="1168" y="455" />
 <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="1180" y="421" id="158" />
-<P2  x="1224" y="414" id="123" />
+<P1  x="1169" y="411" id="101" />
+<P2  x="1234" y="404" id="136" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="126" id="26" >
 <cdparam x="1037" y="180" />
 <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="1180" y="214" id="160" />
-<P2  x="1180" y="282" id="162" />
+<P1  x="1169" y="204" id="99" />
+<P2  x="1169" y="272" id="97" />
 <Point x="1224" y="226" />
 <Point x="1224" y="266" />
 <AutomaticDrawing  data="true" />
@@ -218,8 +218,8 @@
 <cdparam x="873" y="361" />
 <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="1180" y="461" id="164" />
-<P2  x="1224" y="442" id="125" />
+<P1  x="1169" y="451" id="95" />
+<P2  x="1234" y="432" id="134" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <COMPONENT type="1205" id="36" >
@@ -267,14 +267,14 @@
 </COMPONENT>
 <SUBCOMPONENT type="1203" id="38" >
 <father id="59" num="0" />
-<cdparam x="389" y="84" />
-<sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="445" y="117" />
+<sizeparam width="21" height="21" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-13" maxX="278" minY="-13" maxY="264" />
-<infoparam name="TGComponent" value="Event reset, pTS" />
+<cdrectangleparam minX="-10" maxX="281" minY="-10" maxY="267" />
+<infoparam name="TGComponent" value="Request activation" />
 <TGConnectingPoint num="0" id="37" />
 <extraparam>
-<Prop commName="reset, pTS" commType="1" origin="true" finite="true" blocking="false" maxSamples="1" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="VOID" associatedEvent="VOID" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<Prop commName="activation" commType="2" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="VOID" associatedEvent="VOID" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -284,16 +284,16 @@
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1203" id="40" >
 <father id="59" num="1" />
-<cdparam x="442" y="323" />
+<cdparam x="442" y="157" />
 <sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="-13" maxX="278" minY="-13" maxY="264" />
-<infoparam name="TGComponent" value="Event answerToReset, pTSConfirm" />
+<infoparam name="TGComponent" value="Event data_Ready" />
 <TGConnectingPoint num="0" id="39" />
 <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="VOID" associatedEvent="VOID" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
-<Type type="0" typeOther="" />
-<Type type="0" typeOther="" />
+<Prop commName="data_Ready" commType="1" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="uint_16" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<Type type="1" typeOther="" />
+<Type type="2" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -301,14 +301,14 @@
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1203" id="42" >
 <father id="59" num="2" />
-<cdparam x="442" y="248" />
+<cdparam x="442" y="291" />
 <sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="-13" maxX="278" minY="-13" maxY="264" />
-<infoparam name="TGComponent" value="Channel fromSCtoD" />
+<infoparam name="TGComponent" value="Event data_Ready_SC" />
 <TGConnectingPoint num="0" id="41" />
 <extraparam>
-<Prop commName="fromSCtoD" commType="0" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="VOID" associatedEvent="VOID" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<Prop commName="data_Ready_SC" commType="1" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="VOID" associatedEvent="VOID" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -335,14 +335,14 @@
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1203" id="46" >
 <father id="59" num="4" />
-<cdparam x="442" y="291" />
+<cdparam x="442" y="248" />
 <sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="-13" maxX="278" minY="-13" maxY="264" />
-<infoparam name="TGComponent" value="Event data_Ready_SC" />
+<infoparam name="TGComponent" value="Channel fromSCtoD" />
 <TGConnectingPoint num="0" id="45" />
 <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="VOID" associatedEvent="VOID" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<Prop commName="fromSCtoD" commType="0" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="VOID" associatedEvent="VOID" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -352,16 +352,16 @@
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1203" id="48" >
 <father id="59" num="5" />
-<cdparam x="442" y="157" />
+<cdparam x="442" y="323" />
 <sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="-13" maxX="278" minY="-13" maxY="264" />
-<infoparam name="TGComponent" value="Event data_Ready" />
+<infoparam name="TGComponent" value="Event answerToReset, pTSConfirm" />
 <TGConnectingPoint num="0" id="47" />
 <extraparam>
-<Prop commName="data_Ready" commType="1" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="uint_16" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
-<Type type="1" typeOther="" />
-<Type type="2" typeOther="" />
+<Prop commName="answerToReset, pTSConfirm" commType="1" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="VOID" associatedEvent="VOID" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -369,14 +369,14 @@
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1203" id="50" >
 <father id="59" num="6" />
-<cdparam x="445" y="117" />
-<sizeparam width="21" height="21" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="389" 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="281" minY="-10" maxY="267" />
-<infoparam name="TGComponent" value="Request activation" />
+<cdrectangleparam minX="-13" maxX="278" minY="-13" maxY="264" />
+<infoparam name="TGComponent" value="Event reset, pTS" />
 <TGConnectingPoint num="0" id="49" />
 <extraparam>
-<Prop commName="activation" commType="2" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="VOID" associatedEvent="VOID" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<Prop commName="reset, pTS" commType="1" origin="true" finite="true" blocking="false" maxSamples="1" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="VOID" associatedEvent="VOID" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -403,61 +403,43 @@
 <info hiddeni="false" />
 </extraparam>
 </COMPONENT>
-<SUBCOMPONENT type="1201" id="78" >
+<SUBCOMPONENT type="1202" id="94" >
 <father id="227" num="0" />
-<cdparam x="522" y="377" />
-<sizeparam width="26" height="26" minWidth="10" minHeight="10" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<hidden value="false" />
-<cdrectangleparam minX="-13" maxX="923" minY="-13" maxY="517" />
-<infoparam name="Composite port" value="" />
-<TGConnectingPoint num="0" id="60" />
-<TGConnectingPoint num="1" id="61" />
-<TGConnectingPoint num="2" id="62" />
-<TGConnectingPoint num="3" id="63" />
-<TGConnectingPoint num="4" id="64" />
-<TGConnectingPoint num="5" id="65" />
-<TGConnectingPoint num="6" id="66" />
-<TGConnectingPoint num="7" id="67" />
-<TGConnectingPoint num="8" id="68" />
-<TGConnectingPoint num="9" id="69" />
-<TGConnectingPoint num="10" id="70" />
-<TGConnectingPoint num="11" id="71" />
-<TGConnectingPoint num="12" id="72" />
-<TGConnectingPoint num="13" id="73" />
-<TGConnectingPoint num="14" id="74" />
-<TGConnectingPoint num="15" id="75" />
-<TGConnectingPoint num="16" id="76" />
-<TGConnectingPoint num="17" id="77" />
-</SUBCOMPONENT>
-<SUBCOMPONENT type="1202" id="101" >
-<father id="227" num="1" />
-<cdparam x="565" y="418" />
-<sizeparam width="240" height="146" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="535" y="98" />
+<sizeparam width="201" height="238" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="696" minY="0" maxY="384" />
-<infoparam name="TGComponent" value="Application" />
-<TGConnectingPoint num="0" id="93" />
-<TGConnectingPoint num="1" id="94" />
-<TGConnectingPoint num="2" id="95" />
-<TGConnectingPoint num="3" id="96" />
-<TGConnectingPoint num="4" id="97" />
-<TGConnectingPoint num="5" id="98" />
-<TGConnectingPoint num="6" id="99" />
-<TGConnectingPoint num="7" id="100" />
+<cdrectangleparam minX="0" maxX="735" minY="0" maxY="292" />
+<infoparam name="TGComponent" value="SmartCard" />
+<TGConnectingPoint num="0" id="86" />
+<TGConnectingPoint num="1" id="87" />
+<TGConnectingPoint num="2" id="88" />
+<TGConnectingPoint num="3" id="89" />
+<TGConnectingPoint num="4" id="90" />
+<TGConnectingPoint num="5" id="91" />
+<TGConnectingPoint num="6" id="92" />
+<TGConnectingPoint num="7" id="93" />
 <extraparam>
 <Data isAttacker="No" />
+<Attribute access="2" id="resetType" value="0" type="0" typeOther="" />
+<Attribute access="2" id="a" value="0" type="0" typeOther="" />
+<Attribute access="2" id="b" value="" type="4" typeOther="" />
+<Attribute access="2" id="i" value="0" type="0" typeOther="" />
+<Attribute access="2" id="j" value="0" type="0" typeOther="" />
+<Attribute access="2" id="x" value="0" type="0" typeOther="" />
+<Attribute access="2" id="tcpctrl" value="" type="5" typeOther="TCP_CTRL" />
+<Attribute access="2" id="t" value="" type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="80" >
-<father id="101" num="0" />
-<cdparam x="742" y="408" />
+<SUBCOMPONENT type="1203" id="61" >
+<father id="94" num="0" />
+<cdparam x="620" y="326" />
 <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="136" />
-<infoparam name="TGComponent" value="Request start_TCP_IP" />
-<TGConnectingPoint num="0" id="79" />
+<cdrectangleparam minX="-10" maxX="191" minY="-10" maxY="228" />
+<infoparam name="TGComponent" value="Request start_Application" />
+<TGConnectingPoint num="0" id="60" />
 <extraparam>
-<Prop commName="start_TCP_IP" commType="2" origin="true" finite="false" blocking="false" maxSamples="1" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="VOID" associatedEvent="VOID" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<Prop commName="start_Application" commType="2" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="VOID" associatedEvent="VOID" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -465,16 +447,16 @@
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="82" >
-<father id="101" num="1" />
-<cdparam x="795" y="422" />
+<SUBCOMPONENT type="1203" id="63" >
+<father id="94" num="1" />
+<cdparam x="525" y="117" />
 <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="136" />
-<infoparam name="TGComponent" value="Channel fromTtoA" />
-<TGConnectingPoint num="0" id="81" />
+<cdrectangleparam minX="-10" maxX="191" minY="-10" maxY="228" />
+<infoparam name="TGComponent" value="Request activation" />
+<TGConnectingPoint num="0" id="62" />
 <extraparam>
-<Prop commName="fromTtoA" commType="0" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="VOID" associatedEvent="VOID" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<Prop commName="activation" commType="2" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="VOID" associatedEvent="VOID" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -482,16 +464,16 @@
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="84" >
-<father id="101" num="2" />
-<cdparam x="795" y="483" />
-<sizeparam width="21" height="21" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<SUBCOMPONENT type="1203" id="65" >
+<father id="94" num="2" />
+<cdparam x="723" y="302" />
+<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="136" />
-<infoparam name="TGComponent" value="Event send_TCP" />
-<TGConnectingPoint num="0" id="83" />
+<cdrectangleparam minX="-13" maxX="188" minY="-13" maxY="225" />
+<infoparam name="TGComponent" value="Request start_TCP_IP" />
+<TGConnectingPoint num="0" id="64" />
 <extraparam>
-<Prop commName="send_TCP" commType="1" origin="true" finite="false" blocking="false" maxSamples="1" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="VOID" associatedEvent="VOID" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<Prop commName="start_TCP_IP" commType="2" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="VOID" associatedEvent="VOID" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -499,16 +481,16 @@
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="86" >
-<father id="101" num="3" />
-<cdparam x="795" y="451" />
-<sizeparam width="21" height="21" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<SUBCOMPONENT type="1203" id="67" >
+<father id="94" num="3" />
+<cdparam x="723" y="191" />
+<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="136" />
-<infoparam name="TGComponent" value="Event open, abort, close" />
-<TGConnectingPoint num="0" id="85" />
+<cdrectangleparam minX="-13" maxX="188" minY="-13" maxY="225" />
+<infoparam name="TGComponent" value="Event receive" />
+<TGConnectingPoint num="0" id="66" />
 <extraparam>
-<Prop commName="open, abort, close" commType="1" origin="true" finite="true" blocking="false" maxSamples="1" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="VOID" associatedEvent="VOID" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<Prop commName="receive" commType="1" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="VOID" associatedEvent="VOID" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -516,16 +498,16 @@
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="88" >
-<father id="101" num="4" />
-<cdparam x="795" y="512" />
-<sizeparam width="21" height="21" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<SUBCOMPONENT type="1203" id="69" >
+<father id="94" num="4" />
+<cdparam x="723" 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="230" minY="-10" maxY="136" />
-<infoparam name="TGComponent" value="Event receive_Application" />
-<TGConnectingPoint num="0" id="87" />
+<cdrectangleparam minX="-13" maxX="188" minY="-13" maxY="225" />
+<infoparam name="TGComponent" value="Channel fromPtoT" />
+<TGConnectingPoint num="0" id="68" />
 <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="VOID" associatedEvent="VOID" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<Prop commName="fromPtoT" commType="0" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="VOID" associatedEvent="VOID" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -533,16 +515,16 @@
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="90" >
-<father id="101" num="5" />
-<cdparam x="795" y="544" />
-<sizeparam width="21" height="21" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<SUBCOMPONENT type="1203" id="71" >
+<father id="94" num="5" />
+<cdparam x="723" y="271" />
+<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="136" />
-<infoparam name="TGComponent" value="Channel fromAtoT" />
-<TGConnectingPoint num="0" id="89" />
+<cdrectangleparam minX="-13" maxX="188" minY="-13" maxY="225" />
+<infoparam name="TGComponent" value="Channel fromTtoP" />
+<TGConnectingPoint num="0" id="70" />
 <extraparam>
-<Prop commName="fromAtoT" commType="0" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="VOID" associatedEvent="VOID" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<Prop commName="fromTtoP" commType="0" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="VOID" associatedEvent="VOID" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -550,98 +532,33 @@
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="92" >
-<father id="101" num="6" />
-<cdparam x="661" y="408" />
-<sizeparam width="21" height="21" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<SUBCOMPONENT type="1203" id="73" >
+<father id="94" num="6" />
+<cdparam x="522" y="157" />
+<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="136" />
-<infoparam name="TGComponent" value="Request start_Application" />
-<TGConnectingPoint num="0" id="91" />
+<cdrectangleparam minX="-13" maxX="188" minY="-13" maxY="225" />
+<infoparam name="TGComponent" value="Event data_Ready" />
+<TGConnectingPoint num="0" id="72" />
 <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" />
-<Type type="0" typeOther="" />
-<Type type="0" typeOther="" />
+<Prop commName="data_Ready" commType="1" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="uint_16" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<Type type="1" typeOther="" />
+<Type type="2" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1200" id="183" >
-<father id="227" num="2" />
-<cdparam x="844" y="134" />
-<sizeparam width="570" height="486" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<hidden value="false" />
-<cdrectangleparam minX="0" maxX="366" minY="0" maxY="44" />
-<infoparam name="TGComponent" value="TCPIP Entities" />
-<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>
-<info hiddeni="false" />
-</extraparam>
-</SUBCOMPONENT>
-<SUBCOMPONENT type="1201" id="120" >
-<father id="183" num="0" />
-<cdparam x="831" y="363" />
-<sizeparam width="26" height="26" minWidth="10" minHeight="10" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<hidden value="false" />
-<cdrectangleparam minX="-13" maxX="557" minY="-13" maxY="473" />
-<infoparam name="Composite port" value="" />
-<TGConnectingPoint num="0" id="102" />
-<TGConnectingPoint num="1" id="103" />
-<TGConnectingPoint num="2" id="104" />
-<TGConnectingPoint num="3" id="105" />
-<TGConnectingPoint num="4" id="106" />
-<TGConnectingPoint num="5" id="107" />
-<TGConnectingPoint num="6" id="108" />
-<TGConnectingPoint num="7" id="109" />
-<TGConnectingPoint num="8" id="110" />
-<TGConnectingPoint num="9" id="111" />
-<TGConnectingPoint num="10" id="112" />
-<TGConnectingPoint num="11" id="113" />
-<TGConnectingPoint num="12" id="114" />
-<TGConnectingPoint num="13" id="115" />
-<TGConnectingPoint num="14" id="116" />
-<TGConnectingPoint num="15" id="117" />
-<TGConnectingPoint num="16" id="118" />
-<TGConnectingPoint num="17" id="119" />
-</SUBCOMPONENT>
-<SUBCOMPONENT type="1202" id="135" >
-<father id="183" num="1" />
-<cdparam x="1234" y="329" />
-<sizeparam width="141" height="142" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<hidden value="false" />
-<cdrectangleparam minX="0" maxX="429" minY="0" maxY="344" />
-<infoparam name="TGComponent" value="Timer" />
-<TGConnectingPoint num="0" id="127" />
-<TGConnectingPoint num="1" id="128" />
-<TGConnectingPoint num="2" id="129" />
-<TGConnectingPoint num="3" id="130" />
-<TGConnectingPoint num="4" id="131" />
-<TGConnectingPoint num="5" id="132" />
-<TGConnectingPoint num="6" id="133" />
-<TGConnectingPoint num="7" id="134" />
-<extraparam>
-<Data isAttacker="No" />
-<Attribute access="2" id="x" value="0" type="0" typeOther="" />
-</extraparam>
-</SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="122" >
-<father id="135" num="0" />
-<cdparam x="1224" y="369" />
-<sizeparam width="21" height="21" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<SUBCOMPONENT type="1203" id="75" >
+<father id="94" num="7" />
+<cdparam x="522" y="291" />
+<sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-10" maxX="131" minY="-10" maxY="132" />
-<infoparam name="TGComponent" value="Event timeOut" />
-<TGConnectingPoint num="0" id="121" />
+<cdrectangleparam minX="-13" maxX="188" minY="-13" maxY="225" />
+<infoparam name="TGComponent" value="Event data_Ready_SC" />
+<TGConnectingPoint num="0" id="74" />
 <extraparam>
-<Prop commName="timeOut" commType="1" origin="true" finite="true" blocking="false" maxSamples="1" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="VOID" associatedEvent="VOID" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<Prop commName="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="VOID" associatedEvent="VOID" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -649,16 +566,16 @@
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="124" >
-<father id="135" num="1" />
-<cdparam x="1224" y="404" />
-<sizeparam width="21" height="21" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<SUBCOMPONENT type="1203" id="77" >
+<father id="94" num="8" />
+<cdparam x="522" y="203" />
+<sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-10" maxX="131" minY="-10" maxY="132" />
-<infoparam name="TGComponent" value="Request req_Timer" />
-<TGConnectingPoint num="0" id="123" />
+<cdrectangleparam minX="-13" maxX="188" minY="-13" maxY="225" />
+<infoparam name="TGComponent" value="Channel fromDtoSC" />
+<TGConnectingPoint num="0" id="76" />
 <extraparam>
-<Prop commName="req_Timer" commType="2" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="VOID" associatedEvent="VOID" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<Prop commName="fromDtoSC" commType="0" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="uint_16" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -666,16 +583,16 @@
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="126" >
-<father id="135" num="2" />
-<cdparam x="1224" y="432" />
-<sizeparam width="21" height="21" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<SUBCOMPONENT type="1203" id="79" >
+<father id="94" num="9" />
+<cdparam x="522" y="248" />
+<sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-10" maxX="131" minY="-10" maxY="132" />
-<infoparam name="TGComponent" value="Event stop" />
-<TGConnectingPoint num="0" id="125" />
+<cdrectangleparam minX="-13" maxX="188" minY="-13" maxY="225" />
+<infoparam name="TGComponent" value="Channel fromSCtoD" />
+<TGConnectingPoint num="0" id="78" />
 <extraparam>
-<Prop commName="stop" commType="1" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="VOID" associatedEvent="VOID" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<Prop commName="fromSCtoD" commType="0" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="VOID" associatedEvent="VOID" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -683,42 +600,16 @@
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1202" id="174" >
-<father id="183" num="2" />
-<cdparam x="932" y="173" />
-<sizeparam width="237" height="318" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<hidden value="false" />
-<cdrectangleparam minX="0" maxX="333" minY="0" maxY="168" />
-<infoparam name="TGComponent" value="TCPIP" />
-<TGConnectingPoint num="0" id="166" />
-<TGConnectingPoint num="1" id="167" />
-<TGConnectingPoint num="2" id="168" />
-<TGConnectingPoint num="3" id="169" />
-<TGConnectingPoint num="4" id="170" />
-<TGConnectingPoint num="5" id="171" />
-<TGConnectingPoint num="6" id="172" />
-<TGConnectingPoint num="7" id="173" />
-<extraparam>
-<Data isAttacker="No" />
-<Attribute access="2" id="wind" value="64" type="0" typeOther="" />
-<Attribute access="2" id="seqNum" value="0" type="0" typeOther="" />
-<Attribute access="2" id="i" value="" type="0" typeOther="" />
-<Attribute access="2" id="j" value="" type="0" typeOther="" />
-<Attribute access="2" id="a" value="0" type="0" typeOther="" />
-<Attribute access="2" id="b" value="0" type="0" typeOther="" />
-<Attribute access="2" id="tcpctrl" value="" type="5" typeOther="TCP_CTRL" />
-</extraparam>
-</SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="137" >
-<father id="174" num="0" />
-<cdparam x="919" y="191" />
+<SUBCOMPONENT type="1203" id="81" >
+<father id="94" num="10" />
+<cdparam x="523" y="323" />
 <sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-13" maxX="224" minY="-13" maxY="305" />
-<infoparam name="TGComponent" value="Event send" />
-<TGConnectingPoint num="0" id="136" />
+<cdrectangleparam minX="-13" maxX="188" minY="-13" maxY="225" />
+<infoparam name="TGComponent" value="Event answerToReset, pTSConfirm" />
+<TGConnectingPoint num="0" id="80" />
 <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" />
+<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="VOID" associatedEvent="VOID" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -726,16 +617,16 @@
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="139" >
-<father id="174" num="1" />
-<cdparam x="919" y="241" />
+<SUBCOMPONENT type="1203" id="83" >
+<father id="94" num="11" />
+<cdparam x="580" y="85" />
 <sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-13" maxX="224" minY="-13" maxY="305" />
-<infoparam name="TGComponent" value="Event receive" />
-<TGConnectingPoint num="0" id="138" />
+<cdrectangleparam minX="-13" maxX="188" minY="-13" maxY="225" />
+<infoparam name="TGComponent" value="Event reset, pTS" />
+<TGConnectingPoint num="0" id="82" />
 <extraparam>
-<Prop commName="receive" commType="1" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="VOID" associatedEvent="VOID" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<Prop commName="reset, pTS" commType="1" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="VOID" associatedEvent="VOID" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -743,16 +634,16 @@
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="141" >
-<father id="174" num="2" />
-<cdparam x="919" y="284" />
+<SUBCOMPONENT type="1203" id="85" >
+<father id="94" num="12" />
+<cdparam x="723" y="112" />
 <sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-13" maxX="224" minY="-13" maxY="305" />
-<infoparam name="TGComponent" value="Channel fromPtoT" />
-<TGConnectingPoint num="0" id="140" />
+<cdrectangleparam minX="-13" maxX="188" minY="-13" maxY="225" />
+<infoparam name="TGComponent" value="Event send" />
+<TGConnectingPoint num="0" id="84" />
 <extraparam>
-<Prop commName="fromPtoT" commType="0" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="VOID" associatedEvent="VOID" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<Prop commName="send" commType="1" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="VOID" associatedEvent="VOID" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -760,33 +651,61 @@
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="143" >
-<father id="174" num="3" />
-<cdparam x="919" y="323" />
-<sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<SUBCOMPONENT type="1200" id="176" >
+<father id="227" num="1" />
+<cdparam x="844" y="134" />
+<sizeparam width="570" height="486" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-13" maxX="224" minY="-13" maxY="305" />
-<infoparam name="TGComponent" value="Channel fromTtoP" />
-<TGConnectingPoint num="0" id="142" />
+<cdrectangleparam minX="0" maxX="366" minY="0" maxY="44" />
+<infoparam name="TGComponent" value="TCPIP Entities" />
+<TGConnectingPoint num="0" id="168" />
+<TGConnectingPoint num="1" id="169" />
+<TGConnectingPoint num="2" id="170" />
+<TGConnectingPoint num="3" id="171" />
+<TGConnectingPoint num="4" id="172" />
+<TGConnectingPoint num="5" id="173" />
+<TGConnectingPoint num="6" id="174" />
+<TGConnectingPoint num="7" id="175" />
 <extraparam>
-<Prop commName="fromTtoP" commType="0" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="VOID" associatedEvent="VOID" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
-<Type type="0" typeOther="" />
-<Type type="0" typeOther="" />
-<Type type="0" typeOther="" />
-<Type type="0" typeOther="" />
-<Type type="0" typeOther="" />
+<info hiddeni="false" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="145" >
-<father id="174" num="4" />
-<cdparam x="922" y="358" />
+<SUBCOMPONENT type="1202" id="133" >
+<father id="176" num="0" />
+<cdparam x="932" y="173" />
+<sizeparam width="237" height="318" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="0" maxX="333" minY="0" maxY="168" />
+<infoparam name="TGComponent" value="TCPIP" />
+<TGConnectingPoint num="0" id="125" />
+<TGConnectingPoint num="1" id="126" />
+<TGConnectingPoint num="2" id="127" />
+<TGConnectingPoint num="3" id="128" />
+<TGConnectingPoint num="4" id="129" />
+<TGConnectingPoint num="5" id="130" />
+<TGConnectingPoint num="6" id="131" />
+<TGConnectingPoint num="7" id="132" />
+<extraparam>
+<Data isAttacker="No" />
+<Attribute access="2" id="wind" value="64" type="0" typeOther="" />
+<Attribute access="2" id="seqNum" value="0" type="0" typeOther="" />
+<Attribute access="2" id="i" value="" type="0" typeOther="" />
+<Attribute access="2" id="j" value="" type="0" typeOther="" />
+<Attribute access="2" id="a" value="0" type="0" typeOther="" />
+<Attribute access="2" id="b" value="0" type="0" typeOther="" />
+<Attribute access="2" id="tcpctrl" value="" type="5" typeOther="TCP_CTRL" />
+</extraparam>
+</SUBCOMPONENT>
+<SUBCOMPONENT type="1203" id="96" >
+<father id="133" num="0" />
+<cdparam x="1159" y="451" />
 <sizeparam width="21" height="21" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="-10" maxX="227" minY="-10" maxY="308" />
-<infoparam name="TGComponent" value="Request start_TCP_IP" />
-<TGConnectingPoint num="0" id="144" />
+<infoparam name="TGComponent" value="Event stop" />
+<TGConnectingPoint num="0" id="95" />
 <extraparam>
-<Prop commName="start_TCP_IP" commType="2" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="VOID" associatedEvent="VOID" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<Prop commName="stop" commType="1" origin="true" finite="true" blocking="false" maxSamples="1" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="VOID" associatedEvent="VOID" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -794,16 +713,16 @@
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="147" >
-<father id="174" num="5" />
-<cdparam x="922" y="449" />
+<SUBCOMPONENT type="1203" id="98" >
+<father id="133" num="1" />
+<cdparam x="1159" y="272" />
 <sizeparam width="21" height="21" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="-10" maxX="227" minY="-10" maxY="308" />
-<infoparam name="TGComponent" value="Event send_TCP" />
-<TGConnectingPoint num="0" id="146" />
+<infoparam name="TGComponent" value="Channel temp" />
+<TGConnectingPoint num="0" id="97" />
 <extraparam>
-<Prop commName="send_TCP" commType="1" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="VOID" associatedEvent="VOID" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<Prop commName="temp" commType="0" origin="false" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="VOID" associatedEvent="VOID" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -811,16 +730,16 @@
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="149" >
-<father id="174" num="6" />
-<cdparam x="922" y="422" />
+<SUBCOMPONENT type="1203" id="100" >
+<father id="133" num="2" />
+<cdparam x="1159" y="204" />
 <sizeparam width="21" height="21" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="-10" maxX="227" minY="-10" maxY="308" />
-<infoparam name="TGComponent" value="Event open, abort, close" />
-<TGConnectingPoint num="0" id="148" />
+<infoparam name="TGComponent" value="Channel temp" />
+<TGConnectingPoint num="0" id="99" />
 <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" />
+<Prop commName="temp" commType="0" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="VOID" associatedEvent="VOID" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -828,16 +747,16 @@
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="151" >
-<father id="174" num="7" />
-<cdparam x="922" y="393" />
+<SUBCOMPONENT type="1203" id="102" >
+<father id="133" num="3" />
+<cdparam x="1159" y="411" />
 <sizeparam width="21" height="21" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="-10" maxX="227" minY="-10" maxY="308" />
-<infoparam name="TGComponent" value="Channel fromTtoA" />
-<TGConnectingPoint num="0" id="150" />
+<infoparam name="TGComponent" value="Request req_Timer" />
+<TGConnectingPoint num="0" id="101" />
 <extraparam>
-<Prop commName="fromTtoA" commType="0" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="VOID" associatedEvent="VOID" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<Prop commName="req_Timer" commType="2" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="VOID" associatedEvent="VOID" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -845,16 +764,16 @@
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="153" >
-<father id="174" num="8" />
-<cdparam x="961" y="481" />
+<SUBCOMPONENT type="1203" id="104" >
+<father id="133" num="4" />
+<cdparam x="1159" y="376" />
 <sizeparam width="21" height="21" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="-10" maxX="227" minY="-10" maxY="308" />
-<infoparam name="TGComponent" value="Channel fromAtoT" />
-<TGConnectingPoint num="0" id="152" />
+<infoparam name="TGComponent" value="Event timeOut" />
+<TGConnectingPoint num="0" id="103" />
 <extraparam>
-<Prop commName="fromAtoT" commType="0" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="VOID" associatedEvent="VOID" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<Prop commName="timeOut" commType="1" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="VOID" associatedEvent="VOID" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -862,14 +781,14 @@
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="155" >
-<father id="174" num="9" />
+<SUBCOMPONENT type="1203" id="106" >
+<father id="133" num="5" />
 <cdparam x="922" y="472" />
 <sizeparam width="21" height="21" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="-10" maxX="227" minY="-10" maxY="308" />
 <infoparam name="TGComponent" value="Event receive_Application" />
-<TGConnectingPoint num="0" id="154" />
+<TGConnectingPoint num="0" id="105" />
 <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="VOID" associatedEvent="VOID" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
 <Type type="0" typeOther="" />
@@ -879,16 +798,16 @@
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="157" >
-<father id="174" num="10" />
-<cdparam x="1159" y="376" />
+<SUBCOMPONENT type="1203" id="108" >
+<father id="133" num="6" />
+<cdparam x="961" 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="227" minY="-10" maxY="308" />
-<infoparam name="TGComponent" value="Event timeOut" />
-<TGConnectingPoint num="0" id="156" />
+<infoparam name="TGComponent" value="Channel fromAtoT" />
+<TGConnectingPoint num="0" id="107" />
 <extraparam>
-<Prop commName="timeOut" commType="1" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="VOID" associatedEvent="VOID" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<Prop commName="fromAtoT" commType="0" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="VOID" associatedEvent="VOID" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -896,16 +815,16 @@
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="159" >
-<father id="174" num="11" />
-<cdparam x="1159" y="411" />
+<SUBCOMPONENT type="1203" id="110" >
+<father id="133" num="7" />
+<cdparam x="922" y="393" />
 <sizeparam width="21" height="21" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="-10" maxX="227" minY="-10" maxY="308" />
-<infoparam name="TGComponent" value="Request req_Timer" />
-<TGConnectingPoint num="0" id="158" />
+<infoparam name="TGComponent" value="Channel fromTtoA" />
+<TGConnectingPoint num="0" id="109" />
 <extraparam>
-<Prop commName="req_Timer" commType="2" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="VOID" associatedEvent="VOID" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<Prop commName="fromTtoA" commType="0" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="VOID" associatedEvent="VOID" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -913,16 +832,16 @@
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="161" >
-<father id="174" num="12" />
-<cdparam x="1159" y="204" />
+<SUBCOMPONENT type="1203" id="112" >
+<father id="133" num="8" />
+<cdparam x="922" y="422" />
 <sizeparam width="21" height="21" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="-10" maxX="227" minY="-10" maxY="308" />
-<infoparam name="TGComponent" value="Channel temp" />
-<TGConnectingPoint num="0" id="160" />
+<infoparam name="TGComponent" value="Event open, abort, close" />
+<TGConnectingPoint num="0" id="111" />
 <extraparam>
-<Prop commName="temp" commType="0" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="VOID" associatedEvent="VOID" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<Prop commName="open, abort, close" commType="1" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="VOID" associatedEvent="VOID" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -930,16 +849,16 @@
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="163" >
-<father id="174" num="13" />
-<cdparam x="1159" y="272" />
+<SUBCOMPONENT type="1203" id="114" >
+<father id="133" num="9" />
+<cdparam x="922" y="449" />
 <sizeparam width="21" height="21" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="-10" maxX="227" minY="-10" maxY="308" />
-<infoparam name="TGComponent" value="Channel temp" />
-<TGConnectingPoint num="0" id="162" />
+<infoparam name="TGComponent" value="Event send_TCP" />
+<TGConnectingPoint num="0" id="113" />
 <extraparam>
-<Prop commName="temp" commType="0" origin="false" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="VOID" associatedEvent="VOID" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<Prop commName="send_TCP" commType="1" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="VOID" associatedEvent="VOID" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -947,16 +866,16 @@
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="165" >
-<father id="174" num="14" />
-<cdparam x="1159" y="451" />
+<SUBCOMPONENT type="1203" id="116" >
+<father id="133" num="10" />
+<cdparam x="922" y="358" />
 <sizeparam width="21" height="21" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="-10" maxX="227" minY="-10" maxY="308" />
-<infoparam name="TGComponent" value="Event stop" />
-<TGConnectingPoint num="0" id="164" />
+<infoparam name="TGComponent" value="Request start_TCP_IP" />
+<TGConnectingPoint num="0" id="115" />
 <extraparam>
-<Prop commName="stop" commType="1" origin="true" finite="true" blocking="false" maxSamples="1" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="VOID" associatedEvent="VOID" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<Prop commName="start_TCP_IP" commType="2" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="VOID" associatedEvent="VOID" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -964,43 +883,33 @@
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1202" id="218" >
-<father id="227" num="3" />
-<cdparam x="535" y="98" />
-<sizeparam width="201" height="238" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<SUBCOMPONENT type="1203" id="118" >
+<father id="133" num="11" />
+<cdparam x="919" y="323" />
+<sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="735" minY="0" maxY="292" />
-<infoparam name="TGComponent" value="SmartCard" />
-<TGConnectingPoint num="0" id="210" />
-<TGConnectingPoint num="1" id="211" />
-<TGConnectingPoint num="2" id="212" />
-<TGConnectingPoint num="3" id="213" />
-<TGConnectingPoint num="4" id="214" />
-<TGConnectingPoint num="5" id="215" />
-<TGConnectingPoint num="6" id="216" />
-<TGConnectingPoint num="7" id="217" />
+<cdrectangleparam minX="-13" maxX="224" minY="-13" maxY="305" />
+<infoparam name="TGComponent" value="Channel fromTtoP" />
+<TGConnectingPoint num="0" id="117" />
 <extraparam>
-<Data isAttacker="No" />
-<Attribute access="2" id="resetType" value="0" type="0" typeOther="" />
-<Attribute access="2" id="a" value="0" type="0" typeOther="" />
-<Attribute access="2" id="b" value="" type="4" typeOther="" />
-<Attribute access="2" id="i" value="0" type="0" typeOther="" />
-<Attribute access="2" id="j" value="0" type="0" typeOther="" />
-<Attribute access="2" id="x" value="0" type="0" typeOther="" />
-<Attribute access="2" id="tcpctrl" value="" type="5" typeOther="TCP_CTRL" />
-<Attribute access="2" id="t" value="" type="0" typeOther="" />
+<Prop commName="fromTtoP" commType="0" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="VOID" associatedEvent="VOID" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="185" >
-<father id="218" num="0" />
-<cdparam x="723" y="112" />
+<SUBCOMPONENT type="1203" id="120" >
+<father id="133" num="12" />
+<cdparam x="919" y="284" />
 <sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-13" maxX="188" minY="-13" maxY="225" />
-<infoparam name="TGComponent" value="Event send" />
-<TGConnectingPoint num="0" id="184" />
+<cdrectangleparam minX="-13" maxX="224" minY="-13" maxY="305" />
+<infoparam name="TGComponent" value="Channel fromPtoT" />
+<TGConnectingPoint num="0" id="119" />
 <extraparam>
-<Prop commName="send" commType="1" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="VOID" associatedEvent="VOID" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<Prop commName="fromPtoT" commType="0" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="VOID" associatedEvent="VOID" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -1008,16 +917,16 @@
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="187" >
-<father id="218" num="1" />
-<cdparam x="580" y="85" />
+<SUBCOMPONENT type="1203" id="122" >
+<father id="133" num="13" />
+<cdparam x="919" y="241" />
 <sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-13" maxX="188" minY="-13" maxY="225" />
-<infoparam name="TGComponent" value="Event reset, pTS" />
-<TGConnectingPoint num="0" id="186" />
+<cdrectangleparam minX="-13" maxX="224" minY="-13" maxY="305" />
+<infoparam name="TGComponent" value="Event receive" />
+<TGConnectingPoint num="0" id="121" />
 <extraparam>
-<Prop commName="reset, pTS" commType="1" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="VOID" associatedEvent="VOID" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<Prop commName="receive" commType="1" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="VOID" associatedEvent="VOID" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -1025,16 +934,16 @@
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="189" >
-<father id="218" num="2" />
-<cdparam x="523" y="323" />
+<SUBCOMPONENT type="1203" id="124" >
+<father id="133" num="14" />
+<cdparam x="919" y="191" />
 <sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-13" maxX="188" minY="-13" maxY="225" />
-<infoparam name="TGComponent" value="Event answerToReset, pTSConfirm" />
-<TGConnectingPoint num="0" id="188" />
+<cdrectangleparam minX="-13" maxX="224" minY="-13" maxY="305" />
+<infoparam name="TGComponent" value="Event send" />
+<TGConnectingPoint num="0" id="123" />
 <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="VOID" associatedEvent="VOID" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<Prop commName="send" commType="1" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="VOID" associatedEvent="VOID" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -1042,16 +951,36 @@
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="191" >
-<father id="218" num="3" />
-<cdparam x="522" y="248" />
-<sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<SUBCOMPONENT type="1202" id="148" >
+<father id="176" num="1" />
+<cdparam x="1234" y="329" />
+<sizeparam width="141" height="142" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-13" maxX="188" minY="-13" maxY="225" />
-<infoparam name="TGComponent" value="Channel fromSCtoD" />
-<TGConnectingPoint num="0" id="190" />
+<cdrectangleparam minX="0" maxX="429" minY="0" maxY="344" />
+<infoparam name="TGComponent" value="Timer" />
+<TGConnectingPoint num="0" id="140" />
+<TGConnectingPoint num="1" id="141" />
+<TGConnectingPoint num="2" id="142" />
+<TGConnectingPoint num="3" id="143" />
+<TGConnectingPoint num="4" id="144" />
+<TGConnectingPoint num="5" id="145" />
+<TGConnectingPoint num="6" id="146" />
+<TGConnectingPoint num="7" id="147" />
 <extraparam>
-<Prop commName="fromSCtoD" commType="0" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="VOID" associatedEvent="VOID" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<Data isAttacker="No" />
+<Attribute access="2" id="x" value="0" type="0" typeOther="" />
+</extraparam>
+</SUBCOMPONENT>
+<SUBCOMPONENT type="1203" id="135" >
+<father id="148" num="0" />
+<cdparam x="1224" y="432" />
+<sizeparam width="21" height="21" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="-10" maxX="131" minY="-10" maxY="132" />
+<infoparam name="TGComponent" value="Event stop" />
+<TGConnectingPoint num="0" id="134" />
+<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" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -1059,16 +988,16 @@
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="193" >
-<father id="218" num="4" />
-<cdparam x="522" y="203" />
-<sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<SUBCOMPONENT type="1203" id="137" >
+<father id="148" num="1" />
+<cdparam x="1224" y="404" />
+<sizeparam width="21" height="21" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-13" maxX="188" minY="-13" maxY="225" />
-<infoparam name="TGComponent" value="Channel fromDtoSC" />
-<TGConnectingPoint num="0" id="192" />
+<cdrectangleparam minX="-10" maxX="131" minY="-10" maxY="132" />
+<infoparam name="TGComponent" value="Request req_Timer" />
+<TGConnectingPoint num="0" id="136" />
 <extraparam>
-<Prop commName="fromDtoSC" commType="0" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="uint_16" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<Prop commName="req_Timer" commType="2" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="VOID" associatedEvent="VOID" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -1076,16 +1005,16 @@
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="195" >
-<father id="218" num="5" />
-<cdparam x="522" y="291" />
-<sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<SUBCOMPONENT type="1203" id="139" >
+<father id="148" num="2" />
+<cdparam x="1224" y="369" />
+<sizeparam width="21" height="21" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-13" maxX="188" minY="-13" maxY="225" />
-<infoparam name="TGComponent" value="Event data_Ready_SC" />
-<TGConnectingPoint num="0" id="194" />
+<cdrectangleparam minX="-10" maxX="131" minY="-10" maxY="132" />
+<infoparam name="TGComponent" value="Event timeOut" />
+<TGConnectingPoint num="0" id="138" />
 <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="VOID" associatedEvent="VOID" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<Prop commName="timeOut" commType="1" origin="true" finite="true" blocking="false" maxSamples="1" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="VOID" associatedEvent="VOID" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -1093,33 +1022,78 @@
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="197" >
-<father id="218" num="6" />
-<cdparam x="522" y="157" />
-<sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<SUBCOMPONENT type="1201" id="167" >
+<father id="176" num="2" />
+<cdparam x="831" y="363" />
+<sizeparam width="26" height="26" minWidth="10" minHeight="10" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-13" maxX="188" minY="-13" maxY="225" />
-<infoparam name="TGComponent" value="Event data_Ready" />
-<TGConnectingPoint num="0" id="196" />
+<cdrectangleparam minX="-13" maxX="557" minY="-13" maxY="473" />
+<infoparam name="Composite port" value="" />
+<TGConnectingPoint num="0" id="149" />
+<TGConnectingPoint num="1" id="150" />
+<TGConnectingPoint num="2" id="151" />
+<TGConnectingPoint num="3" id="152" />
+<TGConnectingPoint num="4" id="153" />
+<TGConnectingPoint num="5" id="154" />
+<TGConnectingPoint num="6" id="155" />
+<TGConnectingPoint num="7" id="156" />
+<TGConnectingPoint num="8" id="157" />
+<TGConnectingPoint num="9" id="158" />
+<TGConnectingPoint num="10" id="159" />
+<TGConnectingPoint num="11" id="160" />
+<TGConnectingPoint num="12" id="161" />
+<TGConnectingPoint num="13" id="162" />
+<TGConnectingPoint num="14" id="163" />
+<TGConnectingPoint num="15" id="164" />
+<TGConnectingPoint num="16" id="165" />
+<TGConnectingPoint num="17" id="166" />
+</SUBCOMPONENT>
+<SUBCOMPONENT type="1202" id="199" >
+<father id="227" num="2" />
+<cdparam x="565" y="418" />
+<sizeparam width="240" height="146" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="0" maxX="696" minY="0" maxY="384" />
+<infoparam name="TGComponent" value="Application" />
+<TGConnectingPoint num="0" id="191" />
+<TGConnectingPoint num="1" id="192" />
+<TGConnectingPoint num="2" id="193" />
+<TGConnectingPoint num="3" id="194" />
+<TGConnectingPoint num="4" id="195" />
+<TGConnectingPoint num="5" id="196" />
+<TGConnectingPoint num="6" id="197" />
+<TGConnectingPoint num="7" id="198" />
 <extraparam>
-<Prop commName="data_Ready" commType="1" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="uint_16" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
-<Type type="1" typeOther="" />
-<Type type="2" typeOther="" />
+<Data isAttacker="No" />
+</extraparam>
+</SUBCOMPONENT>
+<SUBCOMPONENT type="1203" id="178" >
+<father id="199" num="0" />
+<cdparam x="661" y="408" />
+<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="136" />
+<infoparam name="TGComponent" value="Request start_Application" />
+<TGConnectingPoint num="0" id="177" />
+<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" />
+<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="199" >
-<father id="218" num="7" />
-<cdparam x="723" y="271" />
-<sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<SUBCOMPONENT type="1203" id="180" >
+<father id="199" num="1" />
+<cdparam x="795" y="544" />
+<sizeparam width="21" height="21" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-13" maxX="188" minY="-13" maxY="225" />
-<infoparam name="TGComponent" value="Channel fromTtoP" />
-<TGConnectingPoint num="0" id="198" />
+<cdrectangleparam minX="-10" maxX="230" minY="-10" maxY="136" />
+<infoparam name="TGComponent" value="Channel fromAtoT" />
+<TGConnectingPoint num="0" id="179" />
 <extraparam>
-<Prop commName="fromTtoP" commType="0" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="VOID" associatedEvent="VOID" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<Prop commName="fromAtoT" commType="0" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="VOID" associatedEvent="VOID" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -1127,16 +1101,16 @@
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="201" >
-<father id="218" num="8" />
-<cdparam x="723" y="235" />
-<sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<SUBCOMPONENT type="1203" id="182" >
+<father id="199" num="2" />
+<cdparam x="795" y="512" />
+<sizeparam width="21" height="21" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-13" maxX="188" minY="-13" maxY="225" />
-<infoparam name="TGComponent" value="Channel fromPtoT" />
-<TGConnectingPoint num="0" id="200" />
+<cdrectangleparam minX="-10" maxX="230" minY="-10" maxY="136" />
+<infoparam name="TGComponent" value="Event receive_Application" />
+<TGConnectingPoint num="0" id="181" />
 <extraparam>
-<Prop commName="fromPtoT" commType="0" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="VOID" associatedEvent="VOID" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<Prop commName="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="VOID" associatedEvent="VOID" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -1144,16 +1118,16 @@
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="203" >
-<father id="218" num="9" />
-<cdparam x="723" y="191" />
-<sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<SUBCOMPONENT type="1203" id="184" >
+<father id="199" num="3" />
+<cdparam x="795" y="451" />
+<sizeparam width="21" height="21" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-13" maxX="188" minY="-13" maxY="225" />
-<infoparam name="TGComponent" value="Event receive" />
-<TGConnectingPoint num="0" id="202" />
+<cdrectangleparam minX="-10" maxX="230" minY="-10" maxY="136" />
+<infoparam name="TGComponent" value="Event open, abort, close" />
+<TGConnectingPoint num="0" id="183" />
 <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" />
+<Prop commName="open, abort, close" commType="1" origin="true" finite="true" blocking="false" maxSamples="1" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="VOID" associatedEvent="VOID" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -1161,16 +1135,16 @@
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="205" >
-<father id="218" num="10" />
-<cdparam x="723" y="302" />
-<sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<SUBCOMPONENT type="1203" id="186" >
+<father id="199" num="4" />
+<cdparam x="795" y="483" />
+<sizeparam width="21" height="21" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-13" maxX="188" minY="-13" maxY="225" />
-<infoparam name="TGComponent" value="Request start_TCP_IP" />
-<TGConnectingPoint num="0" id="204" />
+<cdrectangleparam minX="-10" maxX="230" minY="-10" maxY="136" />
+<infoparam name="TGComponent" value="Event send_TCP" />
+<TGConnectingPoint num="0" id="185" />
 <extraparam>
-<Prop commName="start_TCP_IP" commType="2" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="VOID" associatedEvent="VOID" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<Prop commName="send_TCP" commType="1" origin="true" finite="false" blocking="false" maxSamples="1" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="VOID" associatedEvent="VOID" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -1178,16 +1152,16 @@
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="207" >
-<father id="218" num="11" />
-<cdparam x="525" y="117" />
+<SUBCOMPONENT type="1203" id="188" >
+<father id="199" num="5" />
+<cdparam x="795" y="422" />
 <sizeparam width="21" height="21" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-10" maxX="191" minY="-10" maxY="228" />
-<infoparam name="TGComponent" value="Request activation" />
-<TGConnectingPoint num="0" id="206" />
+<cdrectangleparam minX="-10" maxX="230" minY="-10" maxY="136" />
+<infoparam name="TGComponent" value="Channel fromTtoA" />
+<TGConnectingPoint num="0" id="187" />
 <extraparam>
-<Prop commName="activation" commType="2" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="VOID" associatedEvent="VOID" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<Prop commName="fromTtoA" commType="0" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="VOID" associatedEvent="VOID" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -1195,16 +1169,16 @@
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="209" >
-<father id="218" num="12" />
-<cdparam x="620" y="326" />
+<SUBCOMPONENT type="1203" id="190" >
+<father id="199" num="6" />
+<cdparam x="742" y="408" />
 <sizeparam width="21" height="21" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-10" maxX="191" minY="-10" maxY="228" />
-<infoparam name="TGComponent" value="Request start_Application" />
-<TGConnectingPoint num="0" id="208" />
+<cdrectangleparam minX="-10" maxX="230" minY="-10" maxY="136" />
+<infoparam name="TGComponent" value="Request start_TCP_IP" />
+<TGConnectingPoint num="0" id="189" />
 <extraparam>
-<Prop commName="start_Application" commType="2" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="VOID" associatedEvent="VOID" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<Prop commName="start_TCP_IP" commType="2" origin="true" finite="false" blocking="false" maxSamples="1" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="VOID" associatedEvent="VOID" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -1212,6 +1186,32 @@
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
+<SUBCOMPONENT type="1201" id="218" >
+<father id="227" num="3" />
+<cdparam x="522" y="377" />
+<sizeparam width="26" height="26" minWidth="10" minHeight="10" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="-13" maxX="923" minY="-13" maxY="517" />
+<infoparam name="Composite port" value="" />
+<TGConnectingPoint num="0" id="200" />
+<TGConnectingPoint num="1" id="201" />
+<TGConnectingPoint num="2" id="202" />
+<TGConnectingPoint num="3" id="203" />
+<TGConnectingPoint num="4" id="204" />
+<TGConnectingPoint num="5" id="205" />
+<TGConnectingPoint num="6" id="206" />
+<TGConnectingPoint num="7" id="207" />
+<TGConnectingPoint num="8" id="208" />
+<TGConnectingPoint num="9" id="209" />
+<TGConnectingPoint num="10" id="210" />
+<TGConnectingPoint num="11" id="211" />
+<TGConnectingPoint num="12" id="212" />
+<TGConnectingPoint num="13" id="213" />
+<TGConnectingPoint num="14" id="214" />
+<TGConnectingPoint num="15" id="215" />
+<TGConnectingPoint num="16" id="216" />
+<TGConnectingPoint num="17" id="217" />
+</SUBCOMPONENT>
 
 
 </TMLComponentTaskDiagramPanel>
@@ -1688,513 +1688,386 @@
 
 </TMLActivityDiagramPanel>
 
-<TMLActivityDiagramPanel name="SmartCard" minX="10" maxX="1400" minY="10" maxY="900" >
-<COMPONENT type="1000" id="327" >
-<cdparam x="159" y="66" />
-<sizeparam width="15" height="15" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<TMLActivityDiagramPanel name="Application" minX="10" maxX="1400" minY="10" maxY="900" >
+<COMPONENT type="1012" id="333" >
+<cdparam x="491" y="277" />
+<sizeparam width="30" height="30" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
-<infoparam name="start state" value="null" />
-<TGConnectingPoint num="0" id="326" />
+<infoparam name="choice" value="null" />
+<TGConnectingPoint num="0" id="329" />
+<TGConnectingPoint num="1" id="330" />
+<TGConnectingPoint num="2" id="331" />
+<TGConnectingPoint num="3" id="332" />
 </COMPONENT>
+<SUBCOMPONENT type="-1" id="326" >
+<father id="333" num="0" />
+<cdparam x="466" y="287" />
+<sizeparam width="14" height="15" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="-75" maxX="-20" minY="10" maxY="35" />
+<infoparam name="guard 1" value="[ ]" />
+</SUBCOMPONENT>
+<SUBCOMPONENT type="-1" id="327" >
+<father id="333" num="1" />
+<cdparam x="526" y="287" />
+<sizeparam width="14" height="15" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="35" maxX="55" minY="10" maxY="35" />
+<infoparam name="guard 2" value="[ ]" />
+</SUBCOMPONENT>
+<SUBCOMPONENT type="-1" id="328" >
+<father id="333" num="2" />
+<cdparam x="511" y="322" />
+<sizeparam width="14" height="15" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="20" maxX="40" minY="45" maxY="70" />
+<infoparam name="guard 3" value="[ ]" />
+</SUBCOMPONENT>
 
-<COMPONENT type="1010" id="330" >
-<cdparam x="141" y="129" />
-<sizeparam width="51" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<COMPONENT type="1000" id="335" >
+<cdparam x="501" y="91" />
+<sizeparam width="15" height="15" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
-<infoparam name="wait event" value="reset() " />
-<TGConnectingPoint num="0" id="328" />
-<TGConnectingPoint num="1" id="329" />
-<extraparam>
-<Data eventName="reset" nbOfParams="5" />
-</extraparam>
+<infoparam name="start state" value="null" />
+<TGConnectingPoint num="0" id="334" />
 </COMPONENT>
 
-<COMPONENT type="1008" id="333" >
-<cdparam x="113" y="182" />
-<sizeparam width="106" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<COMPONENT type="1008" id="338" >
+<cdparam x="482" y="129" />
+<sizeparam width="52" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
-<infoparam name="send event" value="answerToReset()" />
-<TGConnectingPoint num="0" id="331" />
-<TGConnectingPoint num="1" id="332" />
+<infoparam name="send event" value="open()" />
+<TGConnectingPoint num="0" id="336" />
+<TGConnectingPoint num="1" id="337" />
 <extraparam>
-<Data eventName="answerToReset" nbOfParams="5" />
+<Data eventName="open" nbOfParams="5" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1010" id="336" >
-<cdparam x="144" y="237" />
-<sizeparam width="44" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<COMPONENT type="1006" id="341" >
+<cdparam x="466" y="178" />
+<sizeparam width="84" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
-<infoparam name="wait event" value="pTS() " />
-<TGConnectingPoint num="0" id="334" />
-<TGConnectingPoint num="1" id="335" />
+<infoparam name="write channel" value="fromAtoT(1)" />
+<TGConnectingPoint num="0" id="339" />
+<TGConnectingPoint num="1" id="340" />
 <extraparam>
-<Data eventName="pTS" nbOfParams="5" />
+<Data channelName="fromAtoT" nbOfSamples="1" secPattern="" isAttacker="No" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1008" id="339" >
-<cdparam x="124" y="308" />
-<sizeparam width="85" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<COMPONENT type="1008" id="344" >
+<cdparam x="467" y="226" />
+<sizeparam width="80" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
-<infoparam name="send event" value="pTSConfirm()" />
-<TGConnectingPoint num="0" id="337" />
-<TGConnectingPoint num="1" id="338" />
+<infoparam name="send event" value="send_TCP()" />
+<TGConnectingPoint num="0" id="342" />
+<TGConnectingPoint num="1" id="343" />
 <extraparam>
-<Data eventName="pTSConfirm" nbOfParams="5" />
+<Data eventName="send_TCP" nbOfParams="5" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="301" id="356" >
-<cdparam x="376" y="98" />
-<sizeparam width="233" height="39" minWidth="50" minHeight="20" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<COMPONENT type="1001" id="346" >
+<cdparam x="576" y="388" />
+<sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
-<infoparam name="UML Note" value="The first two layers of the OSI model 
-are used to communicate between 
-the smart card and the terminal
-" />
-<TGConnectingPoint num="0" id="340" />
-<TGConnectingPoint num="1" id="341" />
-<TGConnectingPoint num="2" id="342" />
-<TGConnectingPoint num="3" id="343" />
-<TGConnectingPoint num="4" id="344" />
-<TGConnectingPoint num="5" id="345" />
-<TGConnectingPoint num="6" id="346" />
-<TGConnectingPoint num="7" id="347" />
-<TGConnectingPoint num="8" id="348" />
-<TGConnectingPoint num="9" id="349" />
-<TGConnectingPoint num="10" id="350" />
-<TGConnectingPoint num="11" id="351" />
-<TGConnectingPoint num="12" id="352" />
-<TGConnectingPoint num="13" id="353" />
-<TGConnectingPoint num="14" id="354" />
-<TGConnectingPoint num="15" id="355" />
-<extraparam>
-<Line value="The first two layers of the OSI model " />
-<Line value="are used to communicate between " />
-<Line value="the smart card and the terminal" />
-</extraparam>
+<infoparam name="stop state" value="null" />
+<TGConnectingPoint num="0" id="345" />
 </COMPONENT>
 
-<COMPONENT type="1007" id="359" >
-<cdparam x="254" y="97" />
-<sizeparam width="89" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<COMPONENT type="1008" id="349" >
+<cdparam x="559" y="329" />
+<sizeparam width="54" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
-<infoparam name="send request" value="start_TCP_IP()" />
-<TGConnectingPoint num="0" id="357" />
-<TGConnectingPoint num="1" id="358" />
+<infoparam name="send event" value="abort()" />
+<TGConnectingPoint num="0" id="347" />
+<TGConnectingPoint num="1" id="348" />
 <extraparam>
-<Data requestName="start_TCP_IP" nbOfParams="5" />
+<Data eventName="abort" nbOfParams="5" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1007" id="362" >
-<cdparam x="241" y="148" />
-<sizeparam width="114" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<COMPONENT type="1008" id="352" >
+<cdparam x="406" y="337" />
+<sizeparam width="53" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
-<infoparam name="send request" value="start_Application()" />
-<TGConnectingPoint num="0" id="360" />
-<TGConnectingPoint num="1" id="361" />
+<infoparam name="send event" value="close()" />
+<TGConnectingPoint num="0" id="350" />
+<TGConnectingPoint num="1" id="351" />
 <extraparam>
-<Data requestName="start_Application" nbOfParams="5" />
+<Data eventName="close" nbOfParams="5" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1001" id="364" >
-<cdparam x="515" y="428" />
+<COMPONENT type="1001" id="354" >
+<cdparam x="422" y="386" />
 <sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
 <infoparam name="stop state" value="null" />
-<TGConnectingPoint num="0" id="363" />
+<TGConnectingPoint num="0" id="353" />
 </COMPONENT>
 
-<COMPONENT type="1008" id="367" >
-<cdparam x="309" y="350" />
-<sizeparam width="106" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<hidden value="false" />
-<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
-<infoparam name="send event" value="data_Ready_SC()" />
-<TGConnectingPoint num="0" id="365" />
-<TGConnectingPoint num="1" id="366" />
-<extraparam>
-<Data eventName="data_Ready_SC" nbOfParams="5" />
-</extraparam>
-</COMPONENT>
+<CONNECTOR type="115" id="355" >
+<cdparam x="509" y="94" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector from start state to send event" value="null" />
+<P1  x="508" y="111" id="334" />
+<P2  x="508" y="124" id="336" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<CONNECTOR type="115" id="356" >
+<cdparam x="508" y="154" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector from send event to write channel" value="null" />
+<P1  x="508" y="154" id="337" />
+<P2  x="508" y="173" id="339" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<CONNECTOR type="115" id="357" >
+<cdparam x="508" y="222" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector from write channel to send event" value="null" />
+<P1  x="508" y="203" id="340" />
+<P2  x="507" y="221" id="342" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<CONNECTOR type="115" id="358" >
+<cdparam x="586" y="354" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector from send event to stop state" value="null" />
+<P1  x="586" y="354" id="348" />
+<P2  x="586" y="383" id="345" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<CONNECTOR type="115" id="359" >
+<cdparam x="508" y="298" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector from send event to choice" value="null" />
+<P1  x="507" y="251" id="343" />
+<P2  x="506" y="267" id="329" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<CONNECTOR type="115" id="360" >
+<cdparam x="470" y="348" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector from choice to send event" value="null" />
+<P1  x="466" y="292" id="330" />
+<P2  x="432" y="332" id="350" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<CONNECTOR type="115" id="361" >
+<cdparam x="432" y="362" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector from send event to stop state" value="null" />
+<P1  x="432" y="362" id="351" />
+<P2  x="432" y="381" id="353" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<CONNECTOR type="115" id="362" >
+<cdparam x="550" y="348" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector from choice to send event" value="null" />
+<P1  x="546" y="292" id="331" />
+<P2  x="586" y="324" id="347" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
 
-<COMPONENT type="1001" id="369" >
-<cdparam x="352" y="426" />
-<sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<hidden value="false" />
-<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
-<infoparam name="stop state" value="null" />
-<TGConnectingPoint num="0" id="368" />
-</COMPONENT>
+</TMLActivityDiagramPanel>
 
-<COMPONENT type="1009" id="372" >
-<cdparam x="321" y="308" />
-<sizeparam width="83" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<TMLActivityDiagramPanel name="Timer" minX="10" maxX="1400" minY="10" maxY="900" >
+<COMPONENT type="1012" id="370" >
+<cdparam x="509" y="222" />
+<sizeparam width="30" height="30" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
-<infoparam name="read channel" value="fromTtoP(1) " />
-<TGConnectingPoint num="0" id="370" />
-<TGConnectingPoint num="1" id="371" />
-<extraparam>
-<Data channelName="fromTtoP" nbOfSamples="1" secPattern="" isAttacker="No" />
-</extraparam>
+<infoparam name="choice" value="null" />
+<TGConnectingPoint num="0" id="366" />
+<TGConnectingPoint num="1" id="367" />
+<TGConnectingPoint num="2" id="368" />
+<TGConnectingPoint num="3" id="369" />
 </COMPONENT>
-
-<COMPONENT type="1010" id="375" >
-<cdparam x="337" y="264" />
-<sizeparam width="50" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<SUBCOMPONENT type="-1" id="363" >
+<father id="370" num="0" />
+<cdparam x="464" y="232" />
+<sizeparam width="52" height="15" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
-<infoparam name="wait event" value="send() " />
-<TGConnectingPoint num="0" id="373" />
-<TGConnectingPoint num="1" id="374" />
-<extraparam>
-<Data eventName="send" nbOfParams="5" />
-</extraparam>
-</COMPONENT>
-
-<COMPONENT type="1006" id="378" >
-<cdparam x="319" y="392" />
-<sizeparam width="87" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdrectangleparam minX="-75" maxX="-20" minY="10" maxY="35" />
+<infoparam name="guard 1" value="[ x==0 ]" />
+</SUBCOMPONENT>
+<SUBCOMPONENT type="-1" id="364" >
+<father id="370" num="1" />
+<cdparam x="544" y="234" />
+<sizeparam width="42" height="15" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
-<infoparam name="write channel" value="fromSCtoD(1)" />
-<TGConnectingPoint num="0" id="376" />
-<TGConnectingPoint num="1" id="377" />
-<extraparam>
-<Data channelName="fromSCtoD" nbOfSamples="1" secPattern="" isAttacker="No" />
-</extraparam>
-</COMPONENT>
-
-<COMPONENT type="1008" id="381" >
-<cdparam x="496" y="350" />
-<sizeparam width="59" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdrectangleparam minX="35" maxX="55" minY="10" maxY="35" />
+<infoparam name="guard 2" value="[ x&gt;0 ]" />
+</SUBCOMPONENT>
+<SUBCOMPONENT type="-1" id="365" >
+<father id="370" num="2" />
+<cdparam x="529" y="267" />
+<sizeparam width="14" height="15" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
-<infoparam name="send event" value="receive()" />
-<TGConnectingPoint num="0" id="379" />
-<TGConnectingPoint num="1" id="380" />
-<extraparam>
-<Data eventName="receive" nbOfParams="5" />
-</extraparam>
-</COMPONENT>
+<cdrectangleparam minX="20" maxX="40" minY="45" maxY="70" />
+<infoparam name="guard 3" value="[ ]" />
+</SUBCOMPONENT>
 
-<COMPONENT type="1009" id="384" >
-<cdparam x="480" y="311" />
-<sizeparam width="91" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<COMPONENT type="1000" id="372" >
+<cdparam x="517" y="87" />
+<sizeparam width="15" height="15" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
-<infoparam name="read channel" value="fromDtoSC(1) " />
-<TGConnectingPoint num="0" id="382" />
-<TGConnectingPoint num="1" id="383" />
-<extraparam>
-<Data channelName="fromDtoSC" nbOfSamples="1" secPattern="" isAttacker="No" />
-</extraparam>
+<infoparam name="start state" value="null" />
+<TGConnectingPoint num="0" id="371" />
 </COMPONENT>
 
-<COMPONENT type="1006" id="387" >
-<cdparam x="486" y="387" />
-<sizeparam width="79" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<COMPONENT type="1001" id="374" >
+<cdparam x="417" y="367" />
+<sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
-<infoparam name="write channel" value="fromPtoT(1)" />
-<TGConnectingPoint num="0" id="385" />
-<TGConnectingPoint num="1" id="386" />
-<extraparam>
-<Data channelName="fromPtoT" nbOfSamples="1" secPattern="" isAttacker="No" />
-</extraparam>
+<infoparam name="stop state" value="null" />
+<TGConnectingPoint num="0" id="373" />
 </COMPONENT>
 
-<COMPONENT type="1010" id="390" >
-<cdparam x="470" y="268" />
-<sizeparam width="110" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<COMPONENT type="1008" id="377" >
+<cdparam x="393" y="299" />
+<sizeparam width="69" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
-<infoparam name="wait event" value="data_Ready(t, b) " />
-<TGConnectingPoint num="0" id="388" />
-<TGConnectingPoint num="1" id="389" />
-<breakpoint />
+<infoparam name="send event" value="timeOut()" />
+<TGConnectingPoint num="0" id="375" />
+<TGConnectingPoint num="1" id="376" />
 <extraparam>
-<Data eventName="data_Ready" nbOfParams="5" />
-<Param index="0" value="t" />
-<Param index="1" value="b" />
+<Data eventName="timeOut" nbOfParams="5" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1014" id="394" >
-<cdparam x="236" y="202" />
-<sizeparam width="125" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<COMPONENT type="1010" id="380" >
+<cdparam x="596" y="300" />
+<sizeparam width="52" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
-<infoparam name="for loop" value="for(j=0;x==0;j = j)" />
-<TGConnectingPoint num="0" id="391" />
-<TGConnectingPoint num="1" id="392" />
-<TGConnectingPoint num="2" id="393" />
+<infoparam name="wait event" value="stop() " />
+<TGConnectingPoint num="0" id="378" />
+<TGConnectingPoint num="1" id="379" />
 <extraparam>
-<Data init="j=0" condition="x==0" increment="j = j" />
+<Data eventName="stop" nbOfParams="5" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1001" id="396" >
-<cdparam x="297" y="231" />
+<COMPONENT type="1001" id="382" >
+<cdparam x="612" y="365" />
 <sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
 <infoparam name="stop state" value="null" />
-<TGConnectingPoint num="0" id="395" />
+<TGConnectingPoint num="0" id="381" />
 </COMPONENT>
 
-<COMPONENT type="1018" id="407" >
-<cdparam x="424" y="226" />
-<sizeparam width="30" height="30" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<COMPONENT type="1017" id="385" >
+<cdparam x="487" y="150" />
+<sizeparam width="75" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
-<infoparam name="select" value="null" />
-<TGConnectingPoint num="0" id="397" />
-<TGConnectingPoint num="1" id="398" />
-<TGConnectingPoint num="2" id="399" />
-<TGConnectingPoint num="3" id="400" />
-<TGConnectingPoint num="4" id="401" />
-<TGConnectingPoint num="5" id="402" />
-<TGConnectingPoint num="6" id="403" />
-<TGConnectingPoint num="7" id="404" />
-<TGConnectingPoint num="8" id="405" />
-<TGConnectingPoint num="9" id="406" />
-</COMPONENT>
-
-<CONNECTOR type="115" id="412" >
-<cdparam x="111" y="331" />
-<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<infoparam name="connector from send event to send request" value="null" />
-<P1  x="166" y="333" id="338" />
-<P2  x="298" y="92" id="357" />
-<Point x="166" y="351" />
-<Point x="231" y="351" />
-<Point x="231" y="72" />
-<Point x="298" y="72" />
-<AutomaticDrawing  data="true" />
-</CONNECTOR><SUBCOMPONENT type="-1" id="408" >
-<father id="412" num="0" />
-<cdparam x="166" y="351" />
-<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<hidden value="false" />
-<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="1400" />
-<infoparam name="point " value="null" />
-</SUBCOMPONENT>
-<SUBCOMPONENT type="-1" id="409" >
-<father id="412" num="1" />
-<cdparam x="231" y="351" />
-<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<hidden value="false" />
-<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="1400" />
-<infoparam name="point " value="null" />
-</SUBCOMPONENT>
-<SUBCOMPONENT type="-1" id="410" >
-<father id="412" num="2" />
-<cdparam x="231" y="72" />
-<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<hidden value="false" />
-<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="1400" />
-<infoparam name="point " value="null" />
-</SUBCOMPONENT>
-<SUBCOMPONENT type="-1" id="411" >
-<father id="412" num="3" />
-<cdparam x="298" y="72" />
-<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<hidden value="false" />
-<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="1400" />
-<infoparam name="point " value="null" />
-</SUBCOMPONENT>
+<infoparam name="notified event" value="x=?stop()" />
+<TGConnectingPoint num="0" id="383" />
+<TGConnectingPoint num="1" id="384" />
+<extraparam>
+<Data eventName="stop" variable="x" />
+</extraparam>
+</COMPONENT>
 
-<CONNECTOR type="115" id="413" >
-<cdparam x="166" y="64" />
-<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<infoparam name="connector from start state to wait event" value="null" />
-<P1  x="166" y="86" id="326" />
-<P2  x="166" y="124" id="328" />
-<AutomaticDrawing  data="true" />
-</CONNECTOR>
-<CONNECTOR type="115" id="414" >
-<cdparam x="166" y="154" />
-<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<infoparam name="connector from wait event to send event" value="null" />
-<P1  x="166" y="154" id="329" />
-<P2  x="166" y="177" id="331" />
-<AutomaticDrawing  data="true" />
-</CONNECTOR>
-<CONNECTOR type="115" id="415" >
-<cdparam x="312" y="133" />
-<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<infoparam name="connector from send request to send request" value="null" />
-<P1  x="298" y="122" id="358" />
-<P2  x="298" y="143" id="360" />
-<AutomaticDrawing  data="true" />
-</CONNECTOR>
-<CONNECTOR type="115" id="416" >
-<cdparam x="355" y="300" />
-<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<infoparam name="connector from wait event to read channel" value="null" />
-<P1  x="362" y="289" id="374" />
-<P2  x="362" y="303" id="370" />
-<AutomaticDrawing  data="true" />
-</CONNECTOR>
-<CONNECTOR type="115" id="417" >
-<cdparam x="355" y="365" />
-<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<infoparam name="connector from read channel to send event" value="null" />
-<P1  x="362" y="333" id="371" />
-<P2  x="362" y="345" id="365" />
-<AutomaticDrawing  data="true" />
-</CONNECTOR>
-<CONNECTOR type="115" id="418" >
-<cdparam x="355" y="417" />
-<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<infoparam name="connector from send event to write channel" value="null" />
-<P1  x="362" y="375" id="366" />
-<P2  x="362" y="387" id="376" />
-<AutomaticDrawing  data="true" />
-</CONNECTOR>
-<CONNECTOR type="115" id="419" >
-<cdparam x="355" y="473" />
-<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<infoparam name="connector from write channel to stop state" value="null" />
-<P1  x="362" y="417" id="377" />
-<P2  x="362" y="421" id="368" />
-<AutomaticDrawing  data="true" />
-</CONNECTOR>
-<CONNECTOR type="115" id="420" >
-<cdparam x="541" y="358" />
-<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<infoparam name="connector from read channel to send event" value="null" />
-<P1  x="525" y="336" id="383" />
-<P2  x="525" y="345" id="379" />
-<AutomaticDrawing  data="true" />
-</CONNECTOR>
-<CONNECTOR type="115" id="421" >
-<cdparam x="540" y="402" />
-<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<infoparam name="connector from send event to write channel" value="null" />
-<P1  x="525" y="375" id="380" />
-<P2  x="525" y="382" id="385" />
-<AutomaticDrawing  data="true" />
-</CONNECTOR>
-<CONNECTOR type="115" id="422" >
-<cdparam x="543" y="305" />
-<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<infoparam name="connector from wait event to read channel" value="null" />
-<P1  x="525" y="293" id="389" />
-<P2  x="525" y="306" id="382" />
-<AutomaticDrawing  data="true" />
-</CONNECTOR>
-<CONNECTOR type="115" id="423" >
-<cdparam x="540" y="464" />
-<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<infoparam name="connector from write channel to stop state" value="null" />
-<P1  x="525" y="412" id="386" />
-<P2  x="525" y="423" id="363" />
-<AutomaticDrawing  data="true" />
-</CONNECTOR>
-<CONNECTOR type="115" id="424" >
-<cdparam x="298" y="173" />
-<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<infoparam name="connector from send request to for loop" value="null" />
-<P1  x="298" y="173" id="361" />
-<P2  x="298" y="197" id="391" />
-<AutomaticDrawing  data="true" />
-</CONNECTOR>
-<CONNECTOR type="115" id="425" >
-<cdparam x="328" y="232" />
+<CONNECTOR type="115" id="386" >
+<cdparam x="427" y="324" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<infoparam name="connector from for loop to stop state" value="null" />
-<P1  x="298" y="227" id="393" />
-<P2  x="307" y="226" id="395" />
+<infoparam name="connector from send event to stop state" value="null" />
+<P1  x="427" y="324" id="376" />
+<P2  x="427" y="362" id="373" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="426" >
-<cdparam x="395" y="283" />
+<CONNECTOR type="115" id="387" >
+<cdparam x="622" y="325" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<infoparam name="connector from select to wait event" value="null" />
-<P1  x="399" y="241" id="398" />
-<P2  x="362" y="259" id="373" />
+<infoparam name="connector from wait event to stop state" value="null" />
+<P1  x="622" y="325" id="379" />
+<P2  x="622" y="360" id="381" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="427" >
-<cdparam x="543" y="341" />
+<CONNECTOR type="115" id="388" >
+<cdparam x="524" y="107" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<infoparam name="connector from select to wait event" value="null" />
-<P1  x="479" y="241" id="399" />
-<P2  x="525" y="263" id="388" />
+<infoparam name="connector from start state to notified event" value="null" />
+<P1  x="524" y="107" id="371" />
+<P2  x="524" y="145" id="383" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="428" >
-<cdparam x="391" y="282" />
+<CONNECTOR type="115" id="389" >
+<cdparam x="524" y="175" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<infoparam name="connector from for loop to select" value="null" />
-<P1  x="361" y="216" id="392" />
-<P2  x="439" y="216" id="397" />
+<infoparam name="connector from notified event to choice" value="null" />
+<P1  x="524" y="175" id="384" />
+<P2  x="524" y="212" id="366" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="429" >
-<cdparam x="164" y="262" />
+<CONNECTOR type="115" id="390" >
+<cdparam x="484" y="237" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<infoparam name="connector from wait event to send event" value="null" />
-<P1  x="166" y="262" id="335" />
-<P2  x="166" y="303" id="337" />
+<infoparam name="connector from choice to send event" value="null" />
+<P1  x="484" y="237" id="367" />
+<P2  x="427" y="294" id="375" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="430" >
-<cdparam x="166" y="207" />
+<CONNECTOR type="115" id="391" >
+<cdparam x="564" y="237" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<infoparam name="connector from send event to wait event" value="null" />
-<P1  x="166" y="207" id="332" />
-<P2  x="166" y="232" id="334" />
+<infoparam name="connector from choice to wait event" value="null" />
+<P1  x="564" y="237" id="368" />
+<P2  x="622" y="295" id="378" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 
 </TMLActivityDiagramPanel>
 
 <TMLActivityDiagramPanel name="TCPIP" minX="10" maxX="2900" minY="10" maxY="1900" >
-<COMPONENT type="1012" id="438" >
+<COMPONENT type="1012" id="399" >
 <cdparam x="2086" y="1378" />
 <sizeparam width="30" height="30" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="choice" value="null" />
-<TGConnectingPoint num="0" id="434" />
-<TGConnectingPoint num="1" id="435" />
-<TGConnectingPoint num="2" id="436" />
-<TGConnectingPoint num="3" id="437" />
+<TGConnectingPoint num="0" id="395" />
+<TGConnectingPoint num="1" id="396" />
+<TGConnectingPoint num="2" id="397" />
+<TGConnectingPoint num="3" id="398" />
 </COMPONENT>
-<SUBCOMPONENT type="-1" id="431" >
-<father id="438" num="0" />
+<SUBCOMPONENT type="-1" id="392" >
+<father id="399" num="0" />
 <cdparam x="2061" y="1388" />
 <sizeparam width="12" height="15" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="-75" maxX="-20" minY="10" maxY="35" />
 <infoparam name="guard 1" value="[ ]" />
 </SUBCOMPONENT>
-<SUBCOMPONENT type="-1" id="432" >
-<father id="438" num="1" />
+<SUBCOMPONENT type="-1" id="393" >
+<father id="399" num="1" />
 <cdparam x="2121" y="1388" />
 <sizeparam width="39" height="15" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="35" maxX="55" minY="10" maxY="35" />
 <infoparam name="guard 2" value="[ else ]" />
 </SUBCOMPONENT>
-<SUBCOMPONENT type="-1" id="433" >
-<father id="438" num="2" />
+<SUBCOMPONENT type="-1" id="394" >
+<father id="399" num="2" />
 <cdparam x="2106" y="1426" />
 <sizeparam width="124" height="15" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
@@ -2202,35 +2075,35 @@ the smart card and the terminal
 <infoparam name="guard 3" value="[ tcpctrl.state ==10 ]" />
 </SUBCOMPONENT>
 
-<COMPONENT type="1012" id="446" >
+<COMPONENT type="1012" id="407" >
 <cdparam x="2262" y="951" />
 <sizeparam width="30" height="30" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="choice" value="null" />
-<TGConnectingPoint num="0" id="442" />
-<TGConnectingPoint num="1" id="443" />
-<TGConnectingPoint num="2" id="444" />
-<TGConnectingPoint num="3" id="445" />
+<TGConnectingPoint num="0" id="403" />
+<TGConnectingPoint num="1" id="404" />
+<TGConnectingPoint num="2" id="405" />
+<TGConnectingPoint num="3" id="406" />
 </COMPONENT>
-<SUBCOMPONENT type="-1" id="439" >
-<father id="446" num="0" />
+<SUBCOMPONENT type="-1" id="400" >
+<father id="407" num="0" />
 <cdparam x="2212" y="961" />
 <sizeparam width="116" height="15" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="-75" maxX="-20" minY="10" maxY="35" />
 <infoparam name="guard 1" value="[ tcpctrl.state ==1 ]" />
 </SUBCOMPONENT>
-<SUBCOMPONENT type="-1" id="440" >
-<father id="446" num="1" />
+<SUBCOMPONENT type="-1" id="401" >
+<father id="407" num="1" />
 <cdparam x="2297" y="961" />
 <sizeparam width="116" height="15" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="35" maxX="55" minY="10" maxY="35" />
 <infoparam name="guard 2" value="[ tcpctrl.state ==3 ]" />
 </SUBCOMPONENT>
-<SUBCOMPONENT type="-1" id="441" >
-<father id="446" num="2" />
+<SUBCOMPONENT type="-1" id="402" >
+<father id="407" num="2" />
 <cdparam x="2282" y="996" />
 <sizeparam width="39" height="15" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
@@ -2238,35 +2111,35 @@ the smart card and the terminal
 <infoparam name="guard 3" value="[ else ]" />
 </SUBCOMPONENT>
 
-<COMPONENT type="1012" id="454" >
+<COMPONENT type="1012" id="415" >
 <cdparam x="1981" y="1346" />
 <sizeparam width="30" height="30" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="choice" value="null" />
-<TGConnectingPoint num="0" id="450" />
-<TGConnectingPoint num="1" id="451" />
-<TGConnectingPoint num="2" id="452" />
-<TGConnectingPoint num="3" id="453" />
+<TGConnectingPoint num="0" id="411" />
+<TGConnectingPoint num="1" id="412" />
+<TGConnectingPoint num="2" id="413" />
+<TGConnectingPoint num="3" id="414" />
 </COMPONENT>
-<SUBCOMPONENT type="-1" id="447" >
-<father id="454" num="0" />
+<SUBCOMPONENT type="-1" id="408" >
+<father id="415" num="0" />
 <cdparam x="1934" y="1356" />
 <sizeparam width="116" height="15" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="-75" maxX="-20" minY="10" maxY="35" />
 <infoparam name="guard 1" value="[ tcpctrl.state ==5 ]" />
 </SUBCOMPONENT>
-<SUBCOMPONENT type="-1" id="448" >
-<father id="454" num="1" />
+<SUBCOMPONENT type="-1" id="409" >
+<father id="415" num="1" />
 <cdparam x="2016" y="1356" />
 <sizeparam width="39" height="15" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="35" maxX="55" minY="10" maxY="35" />
 <infoparam name="guard 2" value="[ else ]" />
 </SUBCOMPONENT>
-<SUBCOMPONENT type="-1" id="449" >
-<father id="454" num="2" />
+<SUBCOMPONENT type="-1" id="410" >
+<father id="415" num="2" />
 <cdparam x="2001" y="1391" />
 <sizeparam width="120" height="15" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
@@ -2274,35 +2147,35 @@ the smart card and the terminal
 <infoparam name="guard 3" value="[ tcpctrl.state == 7 ]" />
 </SUBCOMPONENT>
 
-<COMPONENT type="1012" id="462" >
+<COMPONENT type="1012" id="423" >
 <cdparam x="1811" y="1269" />
 <sizeparam width="30" height="30" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="choice" value="null" />
-<TGConnectingPoint num="0" id="458" />
-<TGConnectingPoint num="1" id="459" />
-<TGConnectingPoint num="2" id="460" />
-<TGConnectingPoint num="3" id="461" />
+<TGConnectingPoint num="0" id="419" />
+<TGConnectingPoint num="1" id="420" />
+<TGConnectingPoint num="2" id="421" />
+<TGConnectingPoint num="3" id="422" />
 </COMPONENT>
-<SUBCOMPONENT type="-1" id="455" >
-<father id="462" num="0" />
+<SUBCOMPONENT type="-1" id="416" >
+<father id="423" num="0" />
 <cdparam x="1762" y="1279" />
 <sizeparam width="116" height="15" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="-75" maxX="-20" minY="10" maxY="35" />
 <infoparam name="guard 1" value="[ tcpctrl.state ==4 ]" />
 </SUBCOMPONENT>
-<SUBCOMPONENT type="-1" id="456" >
-<father id="462" num="1" />
+<SUBCOMPONENT type="-1" id="417" >
+<father id="423" num="1" />
 <cdparam x="1846" y="1279" />
 <sizeparam width="39" height="15" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="35" maxX="55" minY="10" maxY="35" />
 <infoparam name="guard 2" value="[ else ]" />
 </SUBCOMPONENT>
-<SUBCOMPONENT type="-1" id="457" >
-<father id="462" num="2" />
+<SUBCOMPONENT type="-1" id="418" >
+<father id="423" num="2" />
 <cdparam x="1831" y="1314" />
 <sizeparam width="116" height="15" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
@@ -2310,35 +2183,35 @@ the smart card and the terminal
 <infoparam name="guard 3" value="[ tcpctrl.state ==2 ]" />
 </SUBCOMPONENT>
 
-<COMPONENT type="1012" id="470" >
+<COMPONENT type="1012" id="431" >
 <cdparam x="1716" y="1141" />
 <sizeparam width="30" height="30" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="choice" value="null" />
-<TGConnectingPoint num="0" id="466" />
-<TGConnectingPoint num="1" id="467" />
-<TGConnectingPoint num="2" id="468" />
-<TGConnectingPoint num="3" id="469" />
+<TGConnectingPoint num="0" id="427" />
+<TGConnectingPoint num="1" id="428" />
+<TGConnectingPoint num="2" id="429" />
+<TGConnectingPoint num="3" id="430" />
 </COMPONENT>
-<SUBCOMPONENT type="-1" id="463" >
-<father id="470" num="0" />
+<SUBCOMPONENT type="-1" id="424" >
+<father id="431" num="0" />
 <cdparam x="1691" y="1151" />
 <sizeparam width="12" height="15" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="-75" maxX="-20" minY="10" maxY="35" />
 <infoparam name="guard 1" value="[ ]" />
 </SUBCOMPONENT>
-<SUBCOMPONENT type="-1" id="464" >
-<father id="470" num="1" />
+<SUBCOMPONENT type="-1" id="425" >
+<father id="431" num="1" />
 <cdparam x="1751" y="1151" />
 <sizeparam width="12" height="15" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="35" maxX="55" minY="10" maxY="35" />
 <infoparam name="guard 2" value="[ ]" />
 </SUBCOMPONENT>
-<SUBCOMPONENT type="-1" id="465" >
-<father id="470" num="2" />
+<SUBCOMPONENT type="-1" id="426" >
+<father id="431" num="2" />
 <cdparam x="1736" y="1186" />
 <sizeparam width="12" height="15" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
@@ -2346,17 +2219,17 @@ the smart card and the terminal
 <infoparam name="guard 3" value="[ ]" />
 </SUBCOMPONENT>
 
-<COMPONENT type="1013" id="474" >
+<COMPONENT type="1013" id="435" >
 <cdparam x="1524" y="1254" />
 <sizeparam width="10" height="30" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="execI" value="null" />
-<TGConnectingPoint num="0" id="472" />
-<TGConnectingPoint num="1" id="473" />
+<TGConnectingPoint num="0" id="433" />
+<TGConnectingPoint num="1" id="434" />
 </COMPONENT>
-<SUBCOMPONENT type="-1" id="471" >
-<father id="474" num="0" />
+<SUBCOMPONENT type="-1" id="432" >
+<father id="435" num="0" />
 <cdparam x="1539" y="1274" />
 <sizeparam width="8" height="15" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
@@ -2364,17 +2237,17 @@ the smart card and the terminal
 <infoparam name="value of the delay" value="b" />
 </SUBCOMPONENT>
 
-<COMPONENT type="1013" id="478" >
+<COMPONENT type="1013" id="439" >
 <cdparam x="1524" y="1064" />
 <sizeparam width="10" height="30" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="execI" value="null" />
-<TGConnectingPoint num="0" id="476" />
-<TGConnectingPoint num="1" id="477" />
+<TGConnectingPoint num="0" id="437" />
+<TGConnectingPoint num="1" id="438" />
 </COMPONENT>
-<SUBCOMPONENT type="-1" id="475" >
-<father id="478" num="0" />
+<SUBCOMPONENT type="-1" id="436" >
+<father id="439" num="0" />
 <cdparam x="1538" y="1088" />
 <sizeparam width="8" height="15" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
@@ -2382,35 +2255,35 @@ the smart card and the terminal
 <infoparam name="value of the delay" value="b" />
 </SUBCOMPONENT>
 
-<COMPONENT type="1012" id="486" >
+<COMPONENT type="1012" id="447" >
 <cdparam x="1592" y="1006" />
 <sizeparam width="30" height="30" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="choice" value="null" />
-<TGConnectingPoint num="0" id="482" />
-<TGConnectingPoint num="1" id="483" />
-<TGConnectingPoint num="2" id="484" />
-<TGConnectingPoint num="3" id="485" />
+<TGConnectingPoint num="0" id="443" />
+<TGConnectingPoint num="1" id="444" />
+<TGConnectingPoint num="2" id="445" />
+<TGConnectingPoint num="3" id="446" />
 </COMPONENT>
-<SUBCOMPONENT type="-1" id="479" >
-<father id="486" num="0" />
+<SUBCOMPONENT type="-1" id="440" >
+<father id="447" num="0" />
 <cdparam x="1542" y="1016" />
 <sizeparam width="124" height="15" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="-75" maxX="-20" minY="10" maxY="35" />
 <infoparam name="guard 1" value="[ tcpctrl.state  == 4 ]" />
 </SUBCOMPONENT>
-<SUBCOMPONENT type="-1" id="480" >
-<father id="486" num="1" />
+<SUBCOMPONENT type="-1" id="441" >
+<father id="447" num="1" />
 <cdparam x="1627" y="1016" />
 <sizeparam width="39" height="15" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="35" maxX="55" minY="10" maxY="35" />
 <infoparam name="guard 2" value="[ else ]" />
 </SUBCOMPONENT>
-<SUBCOMPONENT type="-1" id="481" >
-<father id="486" num="2" />
+<SUBCOMPONENT type="-1" id="442" >
+<father id="447" num="2" />
 <cdparam x="1612" y="1051" />
 <sizeparam width="12" height="15" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
@@ -2418,35 +2291,35 @@ the smart card and the terminal
 <infoparam name="guard 3" value="[ ]" />
 </SUBCOMPONENT>
 
-<COMPONENT type="1012" id="494" >
+<COMPONENT type="1012" id="455" >
 <cdparam x="1713" y="875" />
 <sizeparam width="30" height="30" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="choice" value="null" />
-<TGConnectingPoint num="0" id="490" />
-<TGConnectingPoint num="1" id="491" />
-<TGConnectingPoint num="2" id="492" />
-<TGConnectingPoint num="3" id="493" />
+<TGConnectingPoint num="0" id="451" />
+<TGConnectingPoint num="1" id="452" />
+<TGConnectingPoint num="2" id="453" />
+<TGConnectingPoint num="3" id="454" />
 </COMPONENT>
-<SUBCOMPONENT type="-1" id="487" >
-<father id="494" num="0" />
+<SUBCOMPONENT type="-1" id="448" >
+<father id="455" num="0" />
 <cdparam x="1688" y="885" />
 <sizeparam width="12" height="15" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="-75" maxX="-20" minY="10" maxY="35" />
 <infoparam name="guard 1" value="[ ]" />
 </SUBCOMPONENT>
-<SUBCOMPONENT type="-1" id="488" >
-<father id="494" num="1" />
+<SUBCOMPONENT type="-1" id="449" >
+<father id="455" num="1" />
 <cdparam x="1748" y="885" />
 <sizeparam width="12" height="15" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="35" maxX="55" minY="10" maxY="35" />
 <infoparam name="guard 2" value="[ ]" />
 </SUBCOMPONENT>
-<SUBCOMPONENT type="-1" id="489" >
-<father id="494" num="2" />
+<SUBCOMPONENT type="-1" id="450" >
+<father id="455" num="2" />
 <cdparam x="1733" y="920" />
 <sizeparam width="12" height="15" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
@@ -2454,17 +2327,17 @@ the smart card and the terminal
 <infoparam name="guard 3" value="[ ]" />
 </SUBCOMPONENT>
 
-<COMPONENT type="1013" id="498" >
+<COMPONENT type="1013" id="459" >
 <cdparam x="1636" y="1235" />
 <sizeparam width="10" height="30" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="execI" value="null" />
-<TGConnectingPoint num="0" id="496" />
-<TGConnectingPoint num="1" id="497" />
+<TGConnectingPoint num="0" id="457" />
+<TGConnectingPoint num="1" id="458" />
 </COMPONENT>
-<SUBCOMPONENT type="-1" id="495" >
-<father id="498" num="0" />
+<SUBCOMPONENT type="-1" id="456" >
+<father id="459" num="0" />
 <cdparam x="1655" y="1254" />
 <sizeparam width="8" height="15" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
@@ -2472,17 +2345,17 @@ the smart card and the terminal
 <infoparam name="value of the delay" value="b" />
 </SUBCOMPONENT>
 
-<COMPONENT type="1013" id="502" >
+<COMPONENT type="1013" id="463" >
 <cdparam x="2213" y="1059" />
 <sizeparam width="10" height="30" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="execI" value="null" />
-<TGConnectingPoint num="0" id="500" />
-<TGConnectingPoint num="1" id="501" />
+<TGConnectingPoint num="0" id="461" />
+<TGConnectingPoint num="1" id="462" />
 </COMPONENT>
-<SUBCOMPONENT type="-1" id="499" >
-<father id="502" num="0" />
+<SUBCOMPONENT type="-1" id="460" >
+<father id="463" num="0" />
 <cdparam x="2200" y="1083" />
 <sizeparam width="8" height="15" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
@@ -2490,17 +2363,17 @@ the smart card and the terminal
 <infoparam name="value of the delay" value="b" />
 </SUBCOMPONENT>
 
-<COMPONENT type="1013" id="506" >
+<COMPONENT type="1013" id="467" >
 <cdparam x="2336" y="1024" />
 <sizeparam width="10" height="30" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="execI" value="null" />
-<TGConnectingPoint num="0" id="504" />
-<TGConnectingPoint num="1" id="505" />
+<TGConnectingPoint num="0" id="465" />
+<TGConnectingPoint num="1" id="466" />
 </COMPONENT>
-<SUBCOMPONENT type="-1" id="503" >
-<father id="506" num="0" />
+<SUBCOMPONENT type="-1" id="464" >
+<father id="467" num="0" />
 <cdparam x="2312" y="1044" />
 <sizeparam width="8" height="15" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
@@ -2508,35 +2381,35 @@ the smart card and the terminal
 <infoparam name="value of the delay" value="b" />
 </SUBCOMPONENT>
 
-<COMPONENT type="1012" id="514" >
+<COMPONENT type="1012" id="475" >
 <cdparam x="1193" y="1020" />
 <sizeparam width="30" height="30" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="choice" value="null" />
-<TGConnectingPoint num="0" id="510" />
-<TGConnectingPoint num="1" id="511" />
-<TGConnectingPoint num="2" id="512" />
-<TGConnectingPoint num="3" id="513" />
+<TGConnectingPoint num="0" id="471" />
+<TGConnectingPoint num="1" id="472" />
+<TGConnectingPoint num="2" id="473" />
+<TGConnectingPoint num="3" id="474" />
 </COMPONENT>
-<SUBCOMPONENT type="-1" id="507" >
-<father id="514" num="0" />
+<SUBCOMPONENT type="-1" id="468" >
+<father id="475" num="0" />
 <cdparam x="1168" y="1030" />
 <sizeparam width="12" height="15" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="-75" maxX="-20" minY="10" maxY="35" />
 <infoparam name="guard 1" value="[ ]" />
 </SUBCOMPONENT>
-<SUBCOMPONENT type="-1" id="508" >
-<father id="514" num="1" />
+<SUBCOMPONENT type="-1" id="469" >
+<father id="475" num="1" />
 <cdparam x="1228" y="1030" />
 <sizeparam width="39" height="15" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="35" maxX="55" minY="10" maxY="35" />
 <infoparam name="guard 2" value="[ else ]" />
 </SUBCOMPONENT>
-<SUBCOMPONENT type="-1" id="509" >
-<father id="514" num="2" />
+<SUBCOMPONENT type="-1" id="470" >
+<father id="475" num="2" />
 <cdparam x="1213" y="1065" />
 <sizeparam width="116" height="15" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
@@ -2544,17 +2417,17 @@ the smart card and the terminal
 <infoparam name="guard 3" value="[ tcpctrl.state ==6 ]" />
 </SUBCOMPONENT>
 
-<COMPONENT type="1013" id="518" >
+<COMPONENT type="1013" id="479" >
 <cdparam x="1203" y="1107" />
 <sizeparam width="10" height="30" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="execI" value="null" />
-<TGConnectingPoint num="0" id="516" />
-<TGConnectingPoint num="1" id="517" />
+<TGConnectingPoint num="0" id="477" />
+<TGConnectingPoint num="1" id="478" />
 </COMPONENT>
-<SUBCOMPONENT type="-1" id="515" >
-<father id="518" num="0" />
+<SUBCOMPONENT type="-1" id="476" >
+<father id="479" num="0" />
 <cdparam x="1218" y="1127" />
 <sizeparam width="8" height="15" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
@@ -2562,35 +2435,35 @@ the smart card and the terminal
 <infoparam name="value of the delay" value="b" />
 </SUBCOMPONENT>
 
-<COMPONENT type="1012" id="526" >
+<COMPONENT type="1012" id="487" >
 <cdparam x="557" y="712" />
 <sizeparam width="30" height="30" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="choice" value="null" />
-<TGConnectingPoint num="0" id="522" />
-<TGConnectingPoint num="1" id="523" />
-<TGConnectingPoint num="2" id="524" />
-<TGConnectingPoint num="3" id="525" />
+<TGConnectingPoint num="0" id="483" />
+<TGConnectingPoint num="1" id="484" />
+<TGConnectingPoint num="2" id="485" />
+<TGConnectingPoint num="3" id="486" />
 </COMPONENT>
-<SUBCOMPONENT type="-1" id="519" >
-<father id="526" num="0" />
+<SUBCOMPONENT type="-1" id="480" >
+<father id="487" num="0" />
 <cdparam x="514" y="722" />
 <sizeparam width="120" height="15" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="-75" maxX="-20" minY="10" maxY="35" />
 <infoparam name="guard 1" value="[ tcpctrl.state == 1 ]" />
 </SUBCOMPONENT>
-<SUBCOMPONENT type="-1" id="520" >
-<father id="526" num="1" />
+<SUBCOMPONENT type="-1" id="481" >
+<father id="487" num="1" />
 <cdparam x="592" y="722" />
 <sizeparam width="39" height="15" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="35" maxX="55" minY="10" maxY="35" />
 <infoparam name="guard 2" value="[ else ]" />
 </SUBCOMPONENT>
-<SUBCOMPONENT type="-1" id="521" >
-<father id="526" num="2" />
+<SUBCOMPONENT type="-1" id="482" >
+<father id="487" num="2" />
 <cdparam x="577" y="757" />
 <sizeparam width="12" height="15" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
@@ -2598,17 +2471,17 @@ the smart card and the terminal
 <infoparam name="guard 3" value="[ ]" />
 </SUBCOMPONENT>
 
-<COMPONENT type="1013" id="530" >
+<COMPONENT type="1013" id="491" >
 <cdparam x="717" y="694" />
 <sizeparam width="10" height="30" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="execI" value="null" />
-<TGConnectingPoint num="0" id="528" />
-<TGConnectingPoint num="1" id="529" />
+<TGConnectingPoint num="0" id="489" />
+<TGConnectingPoint num="1" id="490" />
 </COMPONENT>
-<SUBCOMPONENT type="-1" id="527" >
-<father id="530" num="0" />
+<SUBCOMPONENT type="-1" id="488" >
+<father id="491" num="0" />
 <cdparam x="732" y="714" />
 <sizeparam width="8" height="15" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
@@ -2616,17 +2489,17 @@ the smart card and the terminal
 <infoparam name="value of the delay" value="b" />
 </SUBCOMPONENT>
 
-<COMPONENT type="1013" id="534" >
+<COMPONENT type="1013" id="495" >
 <cdparam x="938" y="1025" />
 <sizeparam width="10" height="30" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="execI" value="null" />
-<TGConnectingPoint num="0" id="532" />
-<TGConnectingPoint num="1" id="533" />
+<TGConnectingPoint num="0" id="493" />
+<TGConnectingPoint num="1" id="494" />
 </COMPONENT>
-<SUBCOMPONENT type="-1" id="531" >
-<father id="534" num="0" />
+<SUBCOMPONENT type="-1" id="492" >
+<father id="495" num="0" />
 <cdparam x="953" y="1045" />
 <sizeparam width="8" height="15" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
@@ -2634,35 +2507,35 @@ the smart card and the terminal
 <infoparam name="value of the delay" value="b" />
 </SUBCOMPONENT>
 
-<COMPONENT type="1012" id="542" >
+<COMPONENT type="1012" id="503" >
 <cdparam x="1034" y="939" />
 <sizeparam width="30" height="30" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="choice" value="null" />
-<TGConnectingPoint num="0" id="538" />
-<TGConnectingPoint num="1" id="539" />
-<TGConnectingPoint num="2" id="540" />
-<TGConnectingPoint num="3" id="541" />
+<TGConnectingPoint num="0" id="499" />
+<TGConnectingPoint num="1" id="500" />
+<TGConnectingPoint num="2" id="501" />
+<TGConnectingPoint num="3" id="502" />
 </COMPONENT>
-<SUBCOMPONENT type="-1" id="535" >
-<father id="542" num="0" />
+<SUBCOMPONENT type="-1" id="496" >
+<father id="503" num="0" />
 <cdparam x="989" y="949" />
 <sizeparam width="116" height="15" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="-75" maxX="-20" minY="10" maxY="35" />
 <infoparam name="guard 1" value="[ tcpctrl.state ==4 ]" />
 </SUBCOMPONENT>
-<SUBCOMPONENT type="-1" id="536" >
-<father id="542" num="1" />
+<SUBCOMPONENT type="-1" id="497" >
+<father id="503" num="1" />
 <cdparam x="1070" y="949" />
 <sizeparam width="39" height="15" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="35" maxX="55" minY="10" maxY="35" />
 <infoparam name="guard 2" value="[ else ]" />
 </SUBCOMPONENT>
-<SUBCOMPONENT type="-1" id="537" >
-<father id="542" num="2" />
+<SUBCOMPONENT type="-1" id="498" >
+<father id="503" num="2" />
 <cdparam x="1054" y="984" />
 <sizeparam width="116" height="15" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
@@ -2670,17 +2543,17 @@ the smart card and the terminal
 <infoparam name="guard 3" value="[ tcpctrl.state == 5]" />
 </SUBCOMPONENT>
 
-<COMPONENT type="1013" id="546" >
+<COMPONENT type="1013" id="507" >
 <cdparam x="795" y="1009" />
 <sizeparam width="10" height="30" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="execI" value="null" />
-<TGConnectingPoint num="0" id="544" />
-<TGConnectingPoint num="1" id="545" />
+<TGConnectingPoint num="0" id="505" />
+<TGConnectingPoint num="1" id="506" />
 </COMPONENT>
-<SUBCOMPONENT type="-1" id="543" >
-<father id="546" num="0" />
+<SUBCOMPONENT type="-1" id="504" >
+<father id="507" num="0" />
 <cdparam x="818" y="1031" />
 <sizeparam width="8" height="15" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
@@ -2688,35 +2561,35 @@ the smart card and the terminal
 <infoparam name="value of the delay" value="b" />
 </SUBCOMPONENT>
 
-<COMPONENT type="1012" id="554" >
+<COMPONENT type="1012" id="515" >
 <cdparam x="828" y="869" />
 <sizeparam width="30" height="30" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="choice" value="null" />
-<TGConnectingPoint num="0" id="550" />
-<TGConnectingPoint num="1" id="551" />
-<TGConnectingPoint num="2" id="552" />
-<TGConnectingPoint num="3" id="553" />
+<TGConnectingPoint num="0" id="511" />
+<TGConnectingPoint num="1" id="512" />
+<TGConnectingPoint num="2" id="513" />
+<TGConnectingPoint num="3" id="514" />
 </COMPONENT>
-<SUBCOMPONENT type="-1" id="547" >
-<father id="554" num="0" />
+<SUBCOMPONENT type="-1" id="508" >
+<father id="515" num="0" />
 <cdparam x="753" y="885" />
 <sizeparam width="116" height="15" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="-75" maxX="-20" minY="10" maxY="35" />
 <infoparam name="guard 1" value="[ tcpctrl.state ==0 ]" />
 </SUBCOMPONENT>
-<SUBCOMPONENT type="-1" id="548" >
-<father id="554" num="1" />
+<SUBCOMPONENT type="-1" id="509" >
+<father id="515" num="1" />
 <cdparam x="863" y="879" />
 <sizeparam width="39" height="15" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="35" maxX="55" minY="10" maxY="35" />
 <infoparam name="guard 2" value="[ else ]" />
 </SUBCOMPONENT>
-<SUBCOMPONENT type="-1" id="549" >
-<father id="554" num="2" />
+<SUBCOMPONENT type="-1" id="510" >
+<father id="515" num="2" />
 <cdparam x="848" y="914" />
 <sizeparam width="112" height="15" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
@@ -2724,17 +2597,17 @@ the smart card and the terminal
 <infoparam name="guard 3" value="[ tcpctrl.state==0 ]" />
 </SUBCOMPONENT>
 
-<COMPONENT type="1013" id="558" >
+<COMPONENT type="1013" id="519" >
 <cdparam x="341" y="764" />
 <sizeparam width="10" height="30" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="execI" value="null" />
-<TGConnectingPoint num="0" id="556" />
-<TGConnectingPoint num="1" id="557" />
+<TGConnectingPoint num="0" id="517" />
+<TGConnectingPoint num="1" id="518" />
 </COMPONENT>
-<SUBCOMPONENT type="-1" id="555" >
-<father id="558" num="0" />
+<SUBCOMPONENT type="-1" id="516" >
+<father id="519" num="0" />
 <cdparam x="354" y="785" />
 <sizeparam width="8" height="15" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
@@ -2742,17 +2615,17 @@ the smart card and the terminal
 <infoparam name="value of the delay" value="b" />
 </SUBCOMPONENT>
 
-<COMPONENT type="1013" id="562" >
+<COMPONENT type="1013" id="523" >
 <cdparam x="127" y="794" />
 <sizeparam width="10" height="30" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="execI" value="null" />
-<TGConnectingPoint num="0" id="560" />
-<TGConnectingPoint num="1" id="561" />
+<TGConnectingPoint num="0" id="521" />
+<TGConnectingPoint num="1" id="522" />
 </COMPONENT>
-<SUBCOMPONENT type="-1" id="559" >
-<father id="562" num="0" />
+<SUBCOMPONENT type="-1" id="520" >
+<father id="523" num="0" />
 <cdparam x="146" y="818" />
 <sizeparam width="8" height="15" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
@@ -2760,35 +2633,35 @@ the smart card and the terminal
 <infoparam name="value of the delay" value="b" />
 </SUBCOMPONENT>
 
-<COMPONENT type="1012" id="570" >
+<COMPONENT type="1012" id="531" >
 <cdparam x="993" y="780" />
 <sizeparam width="30" height="30" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="choice" value="null" />
-<TGConnectingPoint num="0" id="566" />
-<TGConnectingPoint num="1" id="567" />
-<TGConnectingPoint num="2" id="568" />
-<TGConnectingPoint num="3" id="569" />
+<TGConnectingPoint num="0" id="527" />
+<TGConnectingPoint num="1" id="528" />
+<TGConnectingPoint num="2" id="529" />
+<TGConnectingPoint num="3" id="530" />
 </COMPONENT>
-<SUBCOMPONENT type="-1" id="563" >
-<father id="570" num="0" />
+<SUBCOMPONENT type="-1" id="524" >
+<father id="531" num="0" />
 <cdparam x="949" y="793" />
 <sizeparam width="12" height="15" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="-75" maxX="-20" minY="10" maxY="35" />
 <infoparam name="guard 1" value="[ ]" />
 </SUBCOMPONENT>
-<SUBCOMPONENT type="-1" id="564" >
-<father id="570" num="1" />
+<SUBCOMPONENT type="-1" id="525" >
+<father id="531" num="1" />
 <cdparam x="1028" y="790" />
 <sizeparam width="12" height="15" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="35" maxX="55" minY="10" maxY="35" />
 <infoparam name="guard 2" value="[ ]" />
 </SUBCOMPONENT>
-<SUBCOMPONENT type="-1" id="565" >
-<father id="570" num="2" />
+<SUBCOMPONENT type="-1" id="526" >
+<father id="531" num="2" />
 <cdparam x="1013" y="825" />
 <sizeparam width="12" height="15" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
@@ -2796,17 +2669,17 @@ the smart card and the terminal
 <infoparam name="guard 3" value="[ ]" />
 </SUBCOMPONENT>
 
-<COMPONENT type="1013" id="574" >
+<COMPONENT type="1013" id="535" >
 <cdparam x="1003" y="701" />
 <sizeparam width="10" height="30" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="execI" value="null" />
-<TGConnectingPoint num="0" id="572" />
-<TGConnectingPoint num="1" id="573" />
+<TGConnectingPoint num="0" id="533" />
+<TGConnectingPoint num="1" id="534" />
 </COMPONENT>
-<SUBCOMPONENT type="-1" id="571" >
-<father id="574" num="0" />
+<SUBCOMPONENT type="-1" id="532" >
+<father id="535" num="0" />
 <cdparam x="1018" y="721" />
 <sizeparam width="8" height="15" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
@@ -2814,17 +2687,17 @@ the smart card and the terminal
 <infoparam name="value of the delay" value="b" />
 </SUBCOMPONENT>
 
-<COMPONENT type="1013" id="578" >
+<COMPONENT type="1013" id="539" >
 <cdparam x="434" y="783" />
 <sizeparam width="10" height="30" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="execI" value="null" />
-<TGConnectingPoint num="0" id="576" />
-<TGConnectingPoint num="1" id="577" />
+<TGConnectingPoint num="0" id="537" />
+<TGConnectingPoint num="1" id="538" />
 </COMPONENT>
-<SUBCOMPONENT type="-1" id="575" >
-<father id="578" num="0" />
+<SUBCOMPONENT type="-1" id="536" >
+<father id="539" num="0" />
 <cdparam x="449" y="802" />
 <sizeparam width="8" height="15" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
@@ -2832,17 +2705,17 @@ the smart card and the terminal
 <infoparam name="value of the delay" value="b" />
 </SUBCOMPONENT>
 
-<COMPONENT type="1013" id="582" >
+<COMPONENT type="1013" id="543" >
 <cdparam x="225" y="863" />
 <sizeparam width="10" height="30" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="execI" value="null" />
-<TGConnectingPoint num="0" id="580" />
-<TGConnectingPoint num="1" id="581" />
+<TGConnectingPoint num="0" id="541" />
+<TGConnectingPoint num="1" id="542" />
 </COMPONENT>
-<SUBCOMPONENT type="-1" id="579" >
-<father id="582" num="0" />
+<SUBCOMPONENT type="-1" id="540" >
+<father id="543" num="0" />
 <cdparam x="245" y="885" />
 <sizeparam width="8" height="15" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
@@ -2850,17 +2723,17 @@ the smart card and the terminal
 <infoparam name="value of the delay" value="b" />
 </SUBCOMPONENT>
 
-<COMPONENT type="1013" id="586" >
+<COMPONENT type="1013" id="547" >
 <cdparam x="1044" y="1057" />
 <sizeparam width="10" height="30" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="execI" value="null" />
-<TGConnectingPoint num="0" id="584" />
-<TGConnectingPoint num="1" id="585" />
+<TGConnectingPoint num="0" id="545" />
+<TGConnectingPoint num="1" id="546" />
 </COMPONENT>
-<SUBCOMPONENT type="-1" id="583" >
-<father id="586" num="0" />
+<SUBCOMPONENT type="-1" id="544" >
+<father id="547" num="0" />
 <cdparam x="1059" y="1077" />
 <sizeparam width="8" height="15" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
@@ -2868,35 +2741,35 @@ the smart card and the terminal
 <infoparam name="value of the delay" value="b" />
 </SUBCOMPONENT>
 
-<COMPONENT type="1012" id="594" >
+<COMPONENT type="1012" id="555" >
 <cdparam x="173" y="486" />
 <sizeparam width="30" height="30" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="choice" value="null" />
-<TGConnectingPoint num="0" id="590" />
-<TGConnectingPoint num="1" id="591" />
-<TGConnectingPoint num="2" id="592" />
-<TGConnectingPoint num="3" id="593" />
+<TGConnectingPoint num="0" id="551" />
+<TGConnectingPoint num="1" id="552" />
+<TGConnectingPoint num="2" id="553" />
+<TGConnectingPoint num="3" id="554" />
 </COMPONENT>
-<SUBCOMPONENT type="-1" id="587" >
-<father id="594" num="0" />
+<SUBCOMPONENT type="-1" id="548" >
+<father id="555" num="0" />
 <cdparam x="98" y="496" />
 <sizeparam width="112" height="15" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="-75" maxX="-20" minY="10" maxY="35" />
 <infoparam name="guard 1" value="[ tcpctrl.state==0 ]" />
 </SUBCOMPONENT>
-<SUBCOMPONENT type="-1" id="588" >
-<father id="594" num="1" />
+<SUBCOMPONENT type="-1" id="549" >
+<father id="555" num="1" />
 <cdparam x="208" y="496" />
 <sizeparam width="39" height="15" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="35" maxX="55" minY="10" maxY="35" />
 <infoparam name="guard 2" value="[ else ]" />
 </SUBCOMPONENT>
-<SUBCOMPONENT type="-1" id="589" >
-<father id="594" num="2" />
+<SUBCOMPONENT type="-1" id="550" >
+<father id="555" num="2" />
 <cdparam x="193" y="531" />
 <sizeparam width="12" height="15" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
@@ -2904,35 +2777,35 @@ the smart card and the terminal
 <infoparam name="guard 3" value="[ ]" />
 </SUBCOMPONENT>
 
-<COMPONENT type="1012" id="602" >
+<COMPONENT type="1012" id="563" >
 <cdparam x="359" y="192" />
 <sizeparam width="30" height="30" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="choice" value="null" />
-<TGConnectingPoint num="0" id="598" />
-<TGConnectingPoint num="1" id="599" />
-<TGConnectingPoint num="2" id="600" />
-<TGConnectingPoint num="3" id="601" />
+<TGConnectingPoint num="0" id="559" />
+<TGConnectingPoint num="1" id="560" />
+<TGConnectingPoint num="2" id="561" />
+<TGConnectingPoint num="3" id="562" />
 </COMPONENT>
-<SUBCOMPONENT type="-1" id="595" >
-<father id="602" num="0" />
+<SUBCOMPONENT type="-1" id="556" >
+<father id="563" num="0" />
 <cdparam x="317" y="202" />
 <sizeparam width="81" height="15" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="-75" maxX="-20" minY="10" maxY="35" />
 <infoparam name="guard 1" value="[ tcpctrl.a&gt;0 ]" />
 </SUBCOMPONENT>
-<SUBCOMPONENT type="-1" id="596" >
-<father id="602" num="1" />
+<SUBCOMPONENT type="-1" id="557" >
+<father id="563" num="1" />
 <cdparam x="394" y="202" />
 <sizeparam width="91" height="15" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="35" maxX="55" minY="10" maxY="35" />
 <infoparam name="guard 2" value="[ tcpctrl.a==0 ]" />
 </SUBCOMPONENT>
-<SUBCOMPONENT type="-1" id="597" >
-<father id="602" num="2" />
+<SUBCOMPONENT type="-1" id="558" >
+<father id="563" num="2" />
 <cdparam x="379" y="237" />
 <sizeparam width="12" height="15" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
@@ -2940,35 +2813,35 @@ the smart card and the terminal
 <infoparam name="guard 3" value="[ ]" />
 </SUBCOMPONENT>
 
-<COMPONENT type="1012" id="610" >
+<COMPONENT type="1012" id="571" >
 <cdparam x="449" y="582" />
 <sizeparam width="30" height="30" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="choice" value="null" />
-<TGConnectingPoint num="0" id="606" />
-<TGConnectingPoint num="1" id="607" />
-<TGConnectingPoint num="2" id="608" />
-<TGConnectingPoint num="3" id="609" />
+<TGConnectingPoint num="0" id="567" />
+<TGConnectingPoint num="1" id="568" />
+<TGConnectingPoint num="2" id="569" />
+<TGConnectingPoint num="3" id="570" />
 </COMPONENT>
-<SUBCOMPONENT type="-1" id="603" >
-<father id="610" num="0" />
+<SUBCOMPONENT type="-1" id="564" >
+<father id="571" num="0" />
 <cdparam x="398" y="592" />
 <sizeparam width="116" height="15" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="-75" maxX="-20" minY="10" maxY="35" />
 <infoparam name="guard 1" value="[ tcpctrl.state ==9 ]" />
 </SUBCOMPONENT>
-<SUBCOMPONENT type="-1" id="604" >
-<father id="610" num="1" />
+<SUBCOMPONENT type="-1" id="565" >
+<father id="571" num="1" />
 <cdparam x="500" y="599" />
 <sizeparam width="39" height="15" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="35" maxX="55" minY="10" maxY="35" />
 <infoparam name="guard 2" value="[ else ]" />
 </SUBCOMPONENT>
-<SUBCOMPONENT type="-1" id="605" >
-<father id="610" num="2" />
+<SUBCOMPONENT type="-1" id="566" >
+<father id="571" num="2" />
 <cdparam x="469" y="627" />
 <sizeparam width="252" height="15" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
@@ -2976,35 +2849,35 @@ the smart card and the terminal
 <infoparam name="guard 3" value="[ (tcpctrl.state ==2) or (tcpctrl.state ==4) ]" />
 </SUBCOMPONENT>
 
-<COMPONENT type="1012" id="618" >
+<COMPONENT type="1012" id="579" >
 <cdparam x="274" y="564" />
 <sizeparam width="30" height="30" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="choice" value="null" />
-<TGConnectingPoint num="0" id="614" />
-<TGConnectingPoint num="1" id="615" />
-<TGConnectingPoint num="2" id="616" />
-<TGConnectingPoint num="3" id="617" />
+<TGConnectingPoint num="0" id="575" />
+<TGConnectingPoint num="1" id="576" />
+<TGConnectingPoint num="2" id="577" />
+<TGConnectingPoint num="3" id="578" />
 </COMPONENT>
-<SUBCOMPONENT type="-1" id="611" >
-<father id="618" num="0" />
+<SUBCOMPONENT type="-1" id="572" >
+<father id="579" num="0" />
 <cdparam x="228" y="574" />
 <sizeparam width="116" height="15" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="-75" maxX="-20" minY="10" maxY="35" />
 <infoparam name="guard 1" value="[ tcpctrl.state == 1]" />
 </SUBCOMPONENT>
-<SUBCOMPONENT type="-1" id="612" >
-<father id="618" num="1" />
+<SUBCOMPONENT type="-1" id="573" >
+<father id="579" num="1" />
 <cdparam x="317" y="584" />
 <sizeparam width="39" height="15" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="35" maxX="55" minY="10" maxY="35" />
 <infoparam name="guard 2" value="[ else ]" />
 </SUBCOMPONENT>
-<SUBCOMPONENT type="-1" id="613" >
-<father id="618" num="2" />
+<SUBCOMPONENT type="-1" id="574" >
+<father id="579" num="2" />
 <cdparam x="294" y="613" />
 <sizeparam width="116" height="15" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
@@ -3012,16 +2885,16 @@ the smart card and the terminal
 <infoparam name="guard 3" value="[ tcpctrl.state ==4 ]" />
 </SUBCOMPONENT>
 
-<COMPONENT type="1000" id="620" >
+<COMPONENT type="1000" id="581" >
 <cdparam x="227" y="27" />
 <sizeparam width="15" height="15" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="start state" value="null" />
-<TGConnectingPoint num="0" id="619" />
+<TGConnectingPoint num="0" id="580" />
 </COMPONENT>
 
-<COMPONENT type="301" id="637" >
+<COMPONENT type="301" id="598" >
 <cdparam x="10" y="30" />
 <sizeparam width="92" height="135" minWidth="50" minHeight="20" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
@@ -3038,22 +2911,22 @@ the smart card and the terminal
 9: close wait
 10:last ack
 " />
-<TGConnectingPoint num="0" id="621" />
-<TGConnectingPoint num="1" id="622" />
-<TGConnectingPoint num="2" id="623" />
-<TGConnectingPoint num="3" id="624" />
-<TGConnectingPoint num="4" id="625" />
-<TGConnectingPoint num="5" id="626" />
-<TGConnectingPoint num="6" id="627" />
-<TGConnectingPoint num="7" id="628" />
-<TGConnectingPoint num="8" id="629" />
-<TGConnectingPoint num="9" id="630" />
-<TGConnectingPoint num="10" id="631" />
-<TGConnectingPoint num="11" id="632" />
-<TGConnectingPoint num="12" id="633" />
-<TGConnectingPoint num="13" id="634" />
-<TGConnectingPoint num="14" id="635" />
-<TGConnectingPoint num="15" id="636" />
+<TGConnectingPoint num="0" id="582" />
+<TGConnectingPoint num="1" id="583" />
+<TGConnectingPoint num="2" id="584" />
+<TGConnectingPoint num="3" id="585" />
+<TGConnectingPoint num="4" id="586" />
+<TGConnectingPoint num="5" id="587" />
+<TGConnectingPoint num="6" id="588" />
+<TGConnectingPoint num="7" id="589" />
+<TGConnectingPoint num="8" id="590" />
+<TGConnectingPoint num="9" id="591" />
+<TGConnectingPoint num="10" id="592" />
+<TGConnectingPoint num="11" id="593" />
+<TGConnectingPoint num="12" id="594" />
+<TGConnectingPoint num="13" id="595" />
+<TGConnectingPoint num="14" id="596" />
+<TGConnectingPoint num="15" id="597" />
 <extraparam>
 <Line value="0: closed" />
 <Line value="1: Listen" />
@@ -3069,223 +2942,223 @@ the smart card and the terminal
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1011" id="640" >
+<COMPONENT type="1011" id="601" >
 <cdparam x="76" y="549" />
 <sizeparam width="100" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="action state" value="tcpctrl.state =1" />
-<TGConnectingPoint num="0" id="638" />
-<TGConnectingPoint num="1" id="639" />
+<TGConnectingPoint num="0" id="599" />
+<TGConnectingPoint num="1" id="600" />
 </COMPONENT>
 
-<COMPONENT type="1001" id="642" >
+<COMPONENT type="1001" id="603" >
 <cdparam x="116" y="615" />
 <sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="stop state" value="null" />
-<TGConnectingPoint num="0" id="641" />
+<TGConnectingPoint num="0" id="602" />
 </COMPONENT>
 
-<COMPONENT type="1009" id="645" >
+<COMPONENT type="1009" id="606" >
 <cdparam x="967" y="585" />
 <sizeparam width="83" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="read channel" value="fromPtoT(1) " />
-<TGConnectingPoint num="0" id="643" />
-<TGConnectingPoint num="1" id="644" />
+<TGConnectingPoint num="0" id="604" />
+<TGConnectingPoint num="1" id="605" />
 <extraparam>
 <Data channelName="fromPtoT" nbOfSamples="1" secPattern="" isAttacker="No" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1014" id="649" >
+<COMPONENT type="1014" id="610" >
 <cdparam x="150" y="85" />
 <sizeparam width="170" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="for loop" value="for(i=0;(tcpctrl.a==0);i = i)" />
-<TGConnectingPoint num="0" id="646" />
-<TGConnectingPoint num="1" id="647" />
-<TGConnectingPoint num="2" id="648" />
+<TGConnectingPoint num="0" id="607" />
+<TGConnectingPoint num="1" id="608" />
+<TGConnectingPoint num="2" id="609" />
 <extraparam>
 <Data init="i=0" condition="(tcpctrl.a==0)" increment="i = i" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1001" id="651" >
+<COMPONENT type="1001" id="612" >
 <cdparam x="224" y="207" />
 <sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="stop state" value="null" />
-<TGConnectingPoint num="0" id="650" />
+<TGConnectingPoint num="0" id="611" />
 </COMPONENT>
 
-<COMPONENT type="1011" id="654" >
+<COMPONENT type="1011" id="615" >
 <cdparam x="186" y="144" />
 <sizeparam width="96" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="action state" value="tcpctrl.state=0" />
-<TGConnectingPoint num="0" id="652" />
-<TGConnectingPoint num="1" id="653" />
+<TGConnectingPoint num="0" id="613" />
+<TGConnectingPoint num="1" id="614" />
 </COMPONENT>
 
-<COMPONENT type="1017" id="657" >
+<COMPONENT type="1017" id="618" >
 <cdparam x="316" y="133" />
 <sizeparam width="116" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="notified event" value="tcpctrl.a=?abort()" />
-<TGConnectingPoint num="0" id="655" />
-<TGConnectingPoint num="1" id="656" />
+<TGConnectingPoint num="0" id="616" />
+<TGConnectingPoint num="1" id="617" />
 <extraparam>
 <Data eventName="abort" variable="tcpctrl.a" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1009" id="660" >
+<COMPONENT type="1009" id="621" >
 <cdparam x="692" y="589" />
 <sizeparam width="60" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="read channel" value="temp(1) " />
-<TGConnectingPoint num="0" id="658" />
-<TGConnectingPoint num="1" id="659" />
+<TGConnectingPoint num="0" id="619" />
+<TGConnectingPoint num="1" id="620" />
 <extraparam>
 <Data channelName="temp" nbOfSamples="1" secPattern="" isAttacker="No" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1010" id="663" >
+<COMPONENT type="1010" id="624" >
 <cdparam x="689" y="534" />
 <sizeparam width="67" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="wait event" value="timeOut() " />
-<TGConnectingPoint num="0" id="661" />
-<TGConnectingPoint num="1" id="662" />
+<TGConnectingPoint num="0" id="622" />
+<TGConnectingPoint num="1" id="623" />
 <extraparam>
 <Data eventName="timeOut" nbOfParams="5" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1010" id="666" >
+<COMPONENT type="1010" id="627" >
 <cdparam x="977" y="528" />
 <sizeparam width="63" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="wait event" value="receive() " />
-<TGConnectingPoint num="0" id="664" />
-<TGConnectingPoint num="1" id="665" />
+<TGConnectingPoint num="0" id="625" />
+<TGConnectingPoint num="1" id="626" />
 <extraparam>
 <Data eventName="receive" nbOfParams="5" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1010" id="669" >
+<COMPONENT type="1010" id="630" >
 <cdparam x="439" y="492" />
 <sizeparam width="51" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="wait event" value="close() " />
-<TGConnectingPoint num="0" id="667" />
-<TGConnectingPoint num="1" id="668" />
+<TGConnectingPoint num="0" id="628" />
+<TGConnectingPoint num="1" id="629" />
 <extraparam>
 <Data eventName="close" nbOfParams="5" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1010" id="672" >
+<COMPONENT type="1010" id="633" >
 <cdparam x="250" y="468" />
 <sizeparam width="79" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="wait event" value="send_TCP() " />
-<TGConnectingPoint num="0" id="670" />
-<TGConnectingPoint num="1" id="671" />
+<TGConnectingPoint num="0" id="631" />
+<TGConnectingPoint num="1" id="632" />
 <extraparam>
 <Data eventName="send_TCP" nbOfParams="5" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1010" id="675" >
+<COMPONENT type="1010" id="636" >
 <cdparam x="163" y="419" />
 <sizeparam width="51" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="wait event" value="open() " />
-<TGConnectingPoint num="0" id="673" />
-<TGConnectingPoint num="1" id="674" />
+<TGConnectingPoint num="0" id="634" />
+<TGConnectingPoint num="1" id="635" />
 <breakpoint />
 <extraparam>
 <Data eventName="open" nbOfParams="5" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1018" id="686" >
+<COMPONENT type="1018" id="647" >
 <cdparam x="449" y="267" />
 <sizeparam width="30" height="30" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="select" value="null" />
-<TGConnectingPoint num="0" id="676" />
-<TGConnectingPoint num="1" id="677" />
-<TGConnectingPoint num="2" id="678" />
-<TGConnectingPoint num="3" id="679" />
-<TGConnectingPoint num="4" id="680" />
-<TGConnectingPoint num="5" id="681" />
-<TGConnectingPoint num="6" id="682" />
-<TGConnectingPoint num="7" id="683" />
-<TGConnectingPoint num="8" id="684" />
-<TGConnectingPoint num="9" id="685" />
+<TGConnectingPoint num="0" id="637" />
+<TGConnectingPoint num="1" id="638" />
+<TGConnectingPoint num="2" id="639" />
+<TGConnectingPoint num="3" id="640" />
+<TGConnectingPoint num="4" id="641" />
+<TGConnectingPoint num="5" id="642" />
+<TGConnectingPoint num="6" id="643" />
+<TGConnectingPoint num="7" id="644" />
+<TGConnectingPoint num="8" id="645" />
+<TGConnectingPoint num="9" id="646" />
 <breakpoint />
 </COMPONENT>
 
-<COMPONENT type="1001" id="688" >
+<COMPONENT type="1001" id="649" >
 <cdparam x="226" y="529" />
 <sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="stop state" value="null" />
-<TGConnectingPoint num="0" id="687" />
+<TGConnectingPoint num="0" id="648" />
 </COMPONENT>
 
-<COMPONENT type="1001" id="690" >
+<COMPONENT type="1001" id="651" >
 <cdparam x="343" y="614" />
 <sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="stop state" value="null" />
-<TGConnectingPoint num="0" id="689" />
+<TGConnectingPoint num="0" id="650" />
 </COMPONENT>
 
-<COMPONENT type="1010" id="693" >
+<COMPONENT type="1010" id="654" >
 <cdparam x="275" y="228" />
 <sizeparam width="53" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="wait event" value="abort() " />
-<TGConnectingPoint num="0" id="691" />
-<TGConnectingPoint num="1" id="692" />
+<TGConnectingPoint num="0" id="652" />
+<TGConnectingPoint num="1" id="653" />
 <extraparam>
 <Data eventName="abort" nbOfParams="5" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1001" id="695" >
+<COMPONENT type="1001" id="656" >
 <cdparam x="291" y="290" />
 <sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="stop state" value="null" />
-<TGConnectingPoint num="0" id="694" />
+<TGConnectingPoint num="0" id="655" />
 </COMPONENT>
 
-<COMPONENT type="301" id="712" >
+<COMPONENT type="301" id="673" >
 <cdparam x="602" y="86" />
 <sizeparam width="360" height="51" minWidth="50" minHeight="20" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
@@ -3295,22 +3168,22 @@ ou depaquitiser un paquet TCP
 
 On prend b=1 comme exemple
 " />
-<TGConnectingPoint num="0" id="696" />
-<TGConnectingPoint num="1" id="697" />
-<TGConnectingPoint num="2" id="698" />
-<TGConnectingPoint num="3" id="699" />
-<TGConnectingPoint num="4" id="700" />
-<TGConnectingPoint num="5" id="701" />
-<TGConnectingPoint num="6" id="702" />
-<TGConnectingPoint num="7" id="703" />
-<TGConnectingPoint num="8" id="704" />
-<TGConnectingPoint num="9" id="705" />
-<TGConnectingPoint num="10" id="706" />
-<TGConnectingPoint num="11" id="707" />
-<TGConnectingPoint num="12" id="708" />
-<TGConnectingPoint num="13" id="709" />
-<TGConnectingPoint num="14" id="710" />
-<TGConnectingPoint num="15" id="711" />
+<TGConnectingPoint num="0" id="657" />
+<TGConnectingPoint num="1" id="658" />
+<TGConnectingPoint num="2" id="659" />
+<TGConnectingPoint num="3" id="660" />
+<TGConnectingPoint num="4" id="661" />
+<TGConnectingPoint num="5" id="662" />
+<TGConnectingPoint num="6" id="663" />
+<TGConnectingPoint num="7" id="664" />
+<TGConnectingPoint num="8" id="665" />
+<TGConnectingPoint num="9" id="666" />
+<TGConnectingPoint num="10" id="667" />
+<TGConnectingPoint num="11" id="668" />
+<TGConnectingPoint num="12" id="669" />
+<TGConnectingPoint num="13" id="670" />
+<TGConnectingPoint num="14" id="671" />
+<TGConnectingPoint num="15" id="672" />
 <extraparam>
 <Line value="b est le nombre d&apos;instructions necessaires pour paquetiser" />
 <Line value="ou depaquitiser un paquet TCP" />
@@ -3319,2830 +3192,2957 @@ On prend b=1 comme exemple
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1009" id="715" >
+<COMPONENT type="1009" id="676" >
 <cdparam x="188" y="808" />
 <sizeparam width="84" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="read channel" value="fromAtoT(1) " />
-<TGConnectingPoint num="0" id="713" />
-<TGConnectingPoint num="1" id="714" />
+<TGConnectingPoint num="0" id="674" />
+<TGConnectingPoint num="1" id="675" />
 <extraparam>
 <Data channelName="fromAtoT" nbOfSamples="1" secPattern="" isAttacker="No" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1006" id="718" >
+<COMPONENT type="1006" id="679" >
 <cdparam x="191" y="1002" />
 <sizeparam width="79" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="write channel" value="fromTtoP(1)" />
-<TGConnectingPoint num="0" id="716" />
-<TGConnectingPoint num="1" id="717" />
+<TGConnectingPoint num="0" id="677" />
+<TGConnectingPoint num="1" id="678" />
 <extraparam>
 <Data channelName="fromTtoP" nbOfSamples="1" secPattern="" isAttacker="No" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1001" id="720" >
+<COMPONENT type="1001" id="681" >
 <cdparam x="219" y="1237" />
 <sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="stop state" value="null" />
-<TGConnectingPoint num="0" id="719" />
+<TGConnectingPoint num="0" id="680" />
 </COMPONENT>
 
-<COMPONENT type="1011" id="723" >
+<COMPONENT type="1011" id="684" >
 <cdparam x="388" y="1032" />
 <sizeparam width="100" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="action state" value="tcpctrl.state =5" />
-<TGConnectingPoint num="0" id="721" />
-<TGConnectingPoint num="1" id="722" />
+<TGConnectingPoint num="0" id="682" />
+<TGConnectingPoint num="1" id="683" />
 </COMPONENT>
 
-<COMPONENT type="1001" id="725" >
+<COMPONENT type="1001" id="686" >
 <cdparam x="428" y="1213" />
 <sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="stop state" value="null" />
-<TGConnectingPoint num="0" id="724" />
+<TGConnectingPoint num="0" id="685" />
 </COMPONENT>
 
-<COMPONENT type="1011" id="728" >
+<COMPONENT type="1011" id="689" >
 <cdparam x="84" y="1041" />
 <sizeparam width="96" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="action state" value="tcpctrl.state=3" />
-<TGConnectingPoint num="0" id="726" />
-<TGConnectingPoint num="1" id="727" />
+<TGConnectingPoint num="0" id="687" />
+<TGConnectingPoint num="1" id="688" />
 </COMPONENT>
 
-<COMPONENT type="1006" id="731" >
+<COMPONENT type="1006" id="692" >
 <cdparam x="93" y="938" />
 <sizeparam width="79" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="write channel" value="fromTtoP(1)" />
-<TGConnectingPoint num="0" id="729" />
-<TGConnectingPoint num="1" id="730" />
+<TGConnectingPoint num="0" id="690" />
+<TGConnectingPoint num="1" id="691" />
 <extraparam>
 <Data channelName="fromTtoP" nbOfSamples="1" secPattern="" isAttacker="No" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1011" id="734" >
+<COMPONENT type="1011" id="695" >
 <cdparam x="292" y="1026" />
 <sizeparam width="108" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="action state" value="tcpctrl.state =10" />
-<TGConnectingPoint num="0" id="732" />
-<TGConnectingPoint num="1" id="733" />
+<TGConnectingPoint num="0" id="693" />
+<TGConnectingPoint num="1" id="694" />
 </COMPONENT>
 
-<COMPONENT type="1001" id="736" >
+<COMPONENT type="1001" id="697" >
 <cdparam x="334" y="1229" />
 <sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="stop state" value="null" />
-<TGConnectingPoint num="0" id="735" />
+<TGConnectingPoint num="0" id="696" />
 </COMPONENT>
 
-<COMPONENT type="1006" id="739" >
+<COMPONENT type="1006" id="700" >
 <cdparam x="400" y="941" />
 <sizeparam width="79" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="write channel" value="fromTtoP(1)" />
-<TGConnectingPoint num="0" id="737" />
-<TGConnectingPoint num="1" id="738" />
+<TGConnectingPoint num="0" id="698" />
+<TGConnectingPoint num="1" id="699" />
 <extraparam>
 <Data channelName="fromTtoP" nbOfSamples="1" secPattern="" isAttacker="No" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1006" id="742" >
+<COMPONENT type="1006" id="703" >
 <cdparam x="307" y="900" />
 <sizeparam width="79" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="write channel" value="fromTtoP(1)" />
-<TGConnectingPoint num="0" id="740" />
-<TGConnectingPoint num="1" id="741" />
+<TGConnectingPoint num="0" id="701" />
+<TGConnectingPoint num="1" id="702" />
 <extraparam>
 <Data channelName="fromTtoP" nbOfSamples="1" secPattern="" isAttacker="No" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1001" id="744" >
+<COMPONENT type="1001" id="705" >
 <cdparam x="789" y="1270" />
 <sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="stop state" value="null" />
-<TGConnectingPoint num="0" id="743" />
+<TGConnectingPoint num="0" id="704" />
 </COMPONENT>
 
-<COMPONENT type="301" id="761" >
+<COMPONENT type="301" id="722" >
 <cdparam x="998" y="850" />
 <sizeparam width="50" height="15" minWidth="50" minHeight="20" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="UML Note" value="Fin
 " />
-<TGConnectingPoint num="0" id="745" />
-<TGConnectingPoint num="1" id="746" />
-<TGConnectingPoint num="2" id="747" />
-<TGConnectingPoint num="3" id="748" />
-<TGConnectingPoint num="4" id="749" />
-<TGConnectingPoint num="5" id="750" />
-<TGConnectingPoint num="6" id="751" />
-<TGConnectingPoint num="7" id="752" />
-<TGConnectingPoint num="8" id="753" />
-<TGConnectingPoint num="9" id="754" />
-<TGConnectingPoint num="10" id="755" />
-<TGConnectingPoint num="11" id="756" />
-<TGConnectingPoint num="12" id="757" />
-<TGConnectingPoint num="13" id="758" />
-<TGConnectingPoint num="14" id="759" />
-<TGConnectingPoint num="15" id="760" />
+<TGConnectingPoint num="0" id="706" />
+<TGConnectingPoint num="1" id="707" />
+<TGConnectingPoint num="2" id="708" />
+<TGConnectingPoint num="3" id="709" />
+<TGConnectingPoint num="4" id="710" />
+<TGConnectingPoint num="5" id="711" />
+<TGConnectingPoint num="6" id="712" />
+<TGConnectingPoint num="7" id="713" />
+<TGConnectingPoint num="8" id="714" />
+<TGConnectingPoint num="9" id="715" />
+<TGConnectingPoint num="10" id="716" />
+<TGConnectingPoint num="11" id="717" />
+<TGConnectingPoint num="12" id="718" />
+<TGConnectingPoint num="13" id="719" />
+<TGConnectingPoint num="14" id="720" />
+<TGConnectingPoint num="15" id="721" />
 <extraparam>
 <Line value="Fin" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1011" id="764" >
+<COMPONENT type="1011" id="725" >
 <cdparam x="678" y="965" />
 <sizeparam width="100" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="action state" value="tcpctrl.state =1" />
-<TGConnectingPoint num="0" id="762" />
-<TGConnectingPoint num="1" id="763" />
+<TGConnectingPoint num="0" id="723" />
+<TGConnectingPoint num="1" id="724" />
 </COMPONENT>
 
-<COMPONENT type="1001" id="766" >
+<COMPONENT type="1001" id="727" >
 <cdparam x="718" y="1032" />
 <sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="stop state" value="null" />
-<TGConnectingPoint num="0" id="765" />
+<TGConnectingPoint num="0" id="726" />
 </COMPONENT>
 
-<COMPONENT type="1006" id="769" >
+<COMPONENT type="1006" id="730" >
 <cdparam x="761" y="1086" />
 <sizeparam width="79" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="write channel" value="fromTtoP(1)" />
-<TGConnectingPoint num="0" id="767" />
-<TGConnectingPoint num="1" id="768" />
+<TGConnectingPoint num="0" id="728" />
+<TGConnectingPoint num="1" id="729" />
 <extraparam>
 <Data channelName="fromTtoP" nbOfSamples="1" secPattern="" isAttacker="No" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="301" id="786" >
+<COMPONENT type="301" id="747" >
 <cdparam x="781" y="950" />
 <sizeparam width="89" height="15" minWidth="50" minHeight="20" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="UML Note" value="Active Open
 " />
-<TGConnectingPoint num="0" id="770" />
-<TGConnectingPoint num="1" id="771" />
-<TGConnectingPoint num="2" id="772" />
-<TGConnectingPoint num="3" id="773" />
-<TGConnectingPoint num="4" id="774" />
-<TGConnectingPoint num="5" id="775" />
-<TGConnectingPoint num="6" id="776" />
-<TGConnectingPoint num="7" id="777" />
-<TGConnectingPoint num="8" id="778" />
-<TGConnectingPoint num="9" id="779" />
-<TGConnectingPoint num="10" id="780" />
-<TGConnectingPoint num="11" id="781" />
-<TGConnectingPoint num="12" id="782" />
-<TGConnectingPoint num="13" id="783" />
-<TGConnectingPoint num="14" id="784" />
-<TGConnectingPoint num="15" id="785" />
+<TGConnectingPoint num="0" id="731" />
+<TGConnectingPoint num="1" id="732" />
+<TGConnectingPoint num="2" id="733" />
+<TGConnectingPoint num="3" id="734" />
+<TGConnectingPoint num="4" id="735" />
+<TGConnectingPoint num="5" id="736" />
+<TGConnectingPoint num="6" id="737" />
+<TGConnectingPoint num="7" id="738" />
+<TGConnectingPoint num="8" id="739" />
+<TGConnectingPoint num="9" id="740" />
+<TGConnectingPoint num="10" id="741" />
+<TGConnectingPoint num="11" id="742" />
+<TGConnectingPoint num="12" id="743" />
+<TGConnectingPoint num="13" id="744" />
+<TGConnectingPoint num="14" id="745" />
+<TGConnectingPoint num="15" id="746" />
 <extraparam>
 <Line value="Active Open" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="301" id="803" >
+<COMPONENT type="301" id="764" >
 <cdparam x="715" y="907" />
 <sizeparam width="97" height="15" minWidth="50" minHeight="20" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="UML Note" value="Passive Open
 " />
-<TGConnectingPoint num="0" id="787" />
-<TGConnectingPoint num="1" id="788" />
-<TGConnectingPoint num="2" id="789" />
-<TGConnectingPoint num="3" id="790" />
-<TGConnectingPoint num="4" id="791" />
-<TGConnectingPoint num="5" id="792" />
-<TGConnectingPoint num="6" id="793" />
-<TGConnectingPoint num="7" id="794" />
-<TGConnectingPoint num="8" id="795" />
-<TGConnectingPoint num="9" id="796" />
-<TGConnectingPoint num="10" id="797" />
-<TGConnectingPoint num="11" id="798" />
-<TGConnectingPoint num="12" id="799" />
-<TGConnectingPoint num="13" id="800" />
-<TGConnectingPoint num="14" id="801" />
-<TGConnectingPoint num="15" id="802" />
+<TGConnectingPoint num="0" id="748" />
+<TGConnectingPoint num="1" id="749" />
+<TGConnectingPoint num="2" id="750" />
+<TGConnectingPoint num="3" id="751" />
+<TGConnectingPoint num="4" id="752" />
+<TGConnectingPoint num="5" id="753" />
+<TGConnectingPoint num="6" id="754" />
+<TGConnectingPoint num="7" id="755" />
+<TGConnectingPoint num="8" id="756" />
+<TGConnectingPoint num="9" id="757" />
+<TGConnectingPoint num="10" id="758" />
+<TGConnectingPoint num="11" id="759" />
+<TGConnectingPoint num="12" id="760" />
+<TGConnectingPoint num="13" id="761" />
+<TGConnectingPoint num="14" id="762" />
+<TGConnectingPoint num="15" id="763" />
 <extraparam>
 <Line value="Passive Open" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1011" id="806" >
+<COMPONENT type="1011" id="767" >
 <cdparam x="749" y="1193" />
 <sizeparam width="100" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="action state" value="tcpctrl.state =3" />
-<TGConnectingPoint num="0" id="804" />
-<TGConnectingPoint num="1" id="805" />
+<TGConnectingPoint num="0" id="765" />
+<TGConnectingPoint num="1" id="766" />
 </COMPONENT>
 
-<COMPONENT type="1011" id="809" >
+<COMPONENT type="1011" id="770" >
 <cdparam x="446" y="768" />
 <sizeparam width="100" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="action state" value="tcpctrl.state =0" />
-<TGConnectingPoint num="0" id="807" />
-<TGConnectingPoint num="1" id="808" />
+<TGConnectingPoint num="0" id="768" />
+<TGConnectingPoint num="1" id="769" />
 </COMPONENT>
 
-<COMPONENT type="1001" id="811" >
+<COMPONENT type="1001" id="772" >
 <cdparam x="486" y="830" />
 <sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="stop state" value="null" />
-<TGConnectingPoint num="0" id="810" />
+<TGConnectingPoint num="0" id="771" />
 </COMPONENT>
 
-<COMPONENT type="1006" id="814" >
+<COMPONENT type="1006" id="775" >
 <cdparam x="904" y="1123" />
 <sizeparam width="79" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="write channel" value="fromTtoP(1)" />
-<TGConnectingPoint num="0" id="812" />
-<TGConnectingPoint num="1" id="813" />
+<TGConnectingPoint num="0" id="773" />
+<TGConnectingPoint num="1" id="774" />
 <extraparam>
 <Data channelName="fromTtoP" nbOfSamples="1" secPattern="" isAttacker="No" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="301" id="831" >
+<COMPONENT type="301" id="792" >
 <cdparam x="884" y="1068" />
 <sizeparam width="108" height="15" minWidth="50" minHeight="20" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="UML Note" value="send Ack of Fin
 " />
-<TGConnectingPoint num="0" id="815" />
-<TGConnectingPoint num="1" id="816" />
-<TGConnectingPoint num="2" id="817" />
-<TGConnectingPoint num="3" id="818" />
-<TGConnectingPoint num="4" id="819" />
-<TGConnectingPoint num="5" id="820" />
-<TGConnectingPoint num="6" id="821" />
-<TGConnectingPoint num="7" id="822" />
-<TGConnectingPoint num="8" id="823" />
-<TGConnectingPoint num="9" id="824" />
-<TGConnectingPoint num="10" id="825" />
-<TGConnectingPoint num="11" id="826" />
-<TGConnectingPoint num="12" id="827" />
-<TGConnectingPoint num="13" id="828" />
-<TGConnectingPoint num="14" id="829" />
-<TGConnectingPoint num="15" id="830" />
+<TGConnectingPoint num="0" id="776" />
+<TGConnectingPoint num="1" id="777" />
+<TGConnectingPoint num="2" id="778" />
+<TGConnectingPoint num="3" id="779" />
+<TGConnectingPoint num="4" id="780" />
+<TGConnectingPoint num="5" id="781" />
+<TGConnectingPoint num="6" id="782" />
+<TGConnectingPoint num="7" id="783" />
+<TGConnectingPoint num="8" id="784" />
+<TGConnectingPoint num="9" id="785" />
+<TGConnectingPoint num="10" id="786" />
+<TGConnectingPoint num="11" id="787" />
+<TGConnectingPoint num="12" id="788" />
+<TGConnectingPoint num="13" id="789" />
+<TGConnectingPoint num="14" id="790" />
+<TGConnectingPoint num="15" id="791" />
 <extraparam>
 <Line value="send Ack of Fin" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1011" id="834" >
+<COMPONENT type="1011" id="795" >
 <cdparam x="893" y="1234" />
 <sizeparam width="100" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="action state" value="tcpctrl.state =9" />
-<TGConnectingPoint num="0" id="832" />
-<TGConnectingPoint num="1" id="833" />
+<TGConnectingPoint num="0" id="793" />
+<TGConnectingPoint num="1" id="794" />
 </COMPONENT>
 
-<COMPONENT type="1001" id="836" >
+<COMPONENT type="1001" id="797" >
 <cdparam x="933" y="1311" />
 <sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="stop state" value="null" />
-<TGConnectingPoint num="0" id="835" />
+<TGConnectingPoint num="0" id="796" />
 </COMPONENT>
 
-<COMPONENT type="1006" id="839" >
+<COMPONENT type="1006" id="800" >
 <cdparam x="1010" y="1155" />
 <sizeparam width="79" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="write channel" value="fromTtoP(1)" />
-<TGConnectingPoint num="0" id="837" />
-<TGConnectingPoint num="1" id="838" />
+<TGConnectingPoint num="0" id="798" />
+<TGConnectingPoint num="1" id="799" />
 <extraparam>
 <Data channelName="fromTtoP" nbOfSamples="1" secPattern="" isAttacker="No" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="301" id="856" >
+<COMPONENT type="301" id="817" >
 <cdparam x="1000" y="1094" />
 <sizeparam width="108" height="15" minWidth="50" minHeight="20" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="UML Note" value="send Ack of Fin
 " />
-<TGConnectingPoint num="0" id="840" />
-<TGConnectingPoint num="1" id="841" />
-<TGConnectingPoint num="2" id="842" />
-<TGConnectingPoint num="3" id="843" />
-<TGConnectingPoint num="4" id="844" />
-<TGConnectingPoint num="5" id="845" />
-<TGConnectingPoint num="6" id="846" />
-<TGConnectingPoint num="7" id="847" />
-<TGConnectingPoint num="8" id="848" />
-<TGConnectingPoint num="9" id="849" />
-<TGConnectingPoint num="10" id="850" />
-<TGConnectingPoint num="11" id="851" />
-<TGConnectingPoint num="12" id="852" />
-<TGConnectingPoint num="13" id="853" />
-<TGConnectingPoint num="14" id="854" />
-<TGConnectingPoint num="15" id="855" />
+<TGConnectingPoint num="0" id="801" />
+<TGConnectingPoint num="1" id="802" />
+<TGConnectingPoint num="2" id="803" />
+<TGConnectingPoint num="3" id="804" />
+<TGConnectingPoint num="4" id="805" />
+<TGConnectingPoint num="5" id="806" />
+<TGConnectingPoint num="6" id="807" />
+<TGConnectingPoint num="7" id="808" />
+<TGConnectingPoint num="8" id="809" />
+<TGConnectingPoint num="9" id="810" />
+<TGConnectingPoint num="10" id="811" />
+<TGConnectingPoint num="11" id="812" />
+<TGConnectingPoint num="12" id="813" />
+<TGConnectingPoint num="13" id="814" />
+<TGConnectingPoint num="14" id="815" />
+<TGConnectingPoint num="15" id="816" />
 <extraparam>
 <Line value="send Ack of Fin" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1011" id="859" >
+<COMPONENT type="1011" id="820" >
 <cdparam x="999" y="1266" />
 <sizeparam width="100" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="action state" value="tcpctrl.state =7" />
-<TGConnectingPoint num="0" id="857" />
-<TGConnectingPoint num="1" id="858" />
+<TGConnectingPoint num="0" id="818" />
+<TGConnectingPoint num="1" id="819" />
 </COMPONENT>
 
-<COMPONENT type="1001" id="861" >
+<COMPONENT type="1001" id="822" >
 <cdparam x="1039" y="1341" />
 <sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="stop state" value="null" />
-<TGConnectingPoint num="0" id="860" />
+<TGConnectingPoint num="0" id="821" />
 </COMPONENT>
 
-<COMPONENT type="1006" id="864" >
+<COMPONENT type="1006" id="825" >
 <cdparam x="683" y="758" />
 <sizeparam width="79" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="write channel" value="fromTtoP(1)" />
-<TGConnectingPoint num="0" id="862" />
-<TGConnectingPoint num="1" id="863" />
+<TGConnectingPoint num="0" id="823" />
+<TGConnectingPoint num="1" id="824" />
 <extraparam>
 <Data channelName="fromTtoP" nbOfSamples="1" secPattern="" isAttacker="No" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1001" id="866" >
+<COMPONENT type="1001" id="827" >
 <cdparam x="712" y="865" />
 <sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="stop state" value="null" />
-<TGConnectingPoint num="0" id="865" />
+<TGConnectingPoint num="0" id="826" />
 </COMPONENT>
 
-<COMPONENT type="1007" id="869" >
+<COMPONENT type="1007" id="830" >
 <cdparam x="93" y="1100" />
 <sizeparam width="78" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="send request" value="req_Timer()" />
-<TGConnectingPoint num="0" id="867" />
-<TGConnectingPoint num="1" id="868" />
+<TGConnectingPoint num="0" id="828" />
+<TGConnectingPoint num="1" id="829" />
 <extraparam>
 <Data requestName="req_Timer" nbOfParams="5" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1006" id="872" >
+<COMPONENT type="1006" id="833" >
 <cdparam x="104" y="1167" />
 <sizeparam width="56" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="write channel" value="temp(1)" />
-<TGConnectingPoint num="0" id="870" />
-<TGConnectingPoint num="1" id="871" />
+<TGConnectingPoint num="0" id="831" />
+<TGConnectingPoint num="1" id="832" />
 <extraparam>
 <Data channelName="temp" nbOfSamples="1" secPattern="" isAttacker="No" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1001" id="874" >
+<COMPONENT type="1001" id="835" >
 <cdparam x="122" y="1236" />
 <sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="stop state" value="null" />
-<TGConnectingPoint num="0" id="873" />
+<TGConnectingPoint num="0" id="834" />
 </COMPONENT>
 
-<COMPONENT type="1007" id="877" >
+<COMPONENT type="1007" id="838" >
 <cdparam x="190" y="1102" />
 <sizeparam width="78" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="send request" value="req_Timer()" />
-<TGConnectingPoint num="0" id="875" />
-<TGConnectingPoint num="1" id="876" />
+<TGConnectingPoint num="0" id="836" />
+<TGConnectingPoint num="1" id="837" />
 <extraparam>
 <Data requestName="req_Timer" nbOfParams="5" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1006" id="880" >
+<COMPONENT type="1006" id="841" >
 <cdparam x="201" y="1169" />
 <sizeparam width="56" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="write channel" value="temp(1)" />
-<TGConnectingPoint num="0" id="878" />
-<TGConnectingPoint num="1" id="879" />
+<TGConnectingPoint num="0" id="839" />
+<TGConnectingPoint num="1" id="840" />
 <extraparam>
 <Data channelName="temp" nbOfSamples="1" secPattern="" isAttacker="No" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1007" id="883" >
+<COMPONENT type="1007" id="844" >
 <cdparam x="307" y="1106" />
 <sizeparam width="78" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="send request" value="req_Timer()" />
-<TGConnectingPoint num="0" id="881" />
-<TGConnectingPoint num="1" id="882" />
+<TGConnectingPoint num="0" id="842" />
+<TGConnectingPoint num="1" id="843" />
 <extraparam>
 <Data requestName="req_Timer" nbOfParams="5" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1006" id="886" >
+<COMPONENT type="1006" id="847" >
 <cdparam x="318" y="1173" />
 <sizeparam width="56" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="write channel" value="temp(1)" />
-<TGConnectingPoint num="0" id="884" />
-<TGConnectingPoint num="1" id="885" />
+<TGConnectingPoint num="0" id="845" />
+<TGConnectingPoint num="1" id="846" />
 <extraparam>
 <Data channelName="temp" nbOfSamples="1" secPattern="" isAttacker="No" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1007" id="889" >
+<COMPONENT type="1007" id="850" >
 <cdparam x="399" y="1090" />
 <sizeparam width="78" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="send request" value="req_Timer()" />
-<TGConnectingPoint num="0" id="887" />
-<TGConnectingPoint num="1" id="888" />
+<TGConnectingPoint num="0" id="848" />
+<TGConnectingPoint num="1" id="849" />
 <extraparam>
 <Data requestName="req_Timer" nbOfParams="5" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1006" id="892" >
+<COMPONENT type="1006" id="853" >
 <cdparam x="410" y="1159" />
 <sizeparam width="56" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="write channel" value="temp(1)" />
-<TGConnectingPoint num="0" id="890" />
-<TGConnectingPoint num="1" id="891" />
+<TGConnectingPoint num="0" id="851" />
+<TGConnectingPoint num="1" id="852" />
 <extraparam>
 <Data channelName="temp" nbOfSamples="1" secPattern="" isAttacker="No" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1011" id="895" >
+<COMPONENT type="1011" id="856" >
 <cdparam x="56" y="861" />
 <sizeparam width="153" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="action state" value="seqNum=seqNum+wind" />
-<TGConnectingPoint num="0" id="893" />
-<TGConnectingPoint num="1" id="894" />
+<TGConnectingPoint num="0" id="854" />
+<TGConnectingPoint num="1" id="855" />
 </COMPONENT>
 
-<COMPONENT type="1011" id="898" >
+<COMPONENT type="1011" id="859" >
 <cdparam x="154" y="940" />
 <sizeparam width="153" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="action state" value="seqNum=seqNum+wind" />
-<TGConnectingPoint num="0" id="896" />
-<TGConnectingPoint num="1" id="897" />
+<TGConnectingPoint num="0" id="857" />
+<TGConnectingPoint num="1" id="858" />
 </COMPONENT>
 
-<COMPONENT type="1011" id="901" >
+<COMPONENT type="1011" id="862" >
 <cdparam x="363" y="865" />
 <sizeparam width="153" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="action state" value="seqNum=seqNum+wind" />
-<TGConnectingPoint num="0" id="899" />
-<TGConnectingPoint num="1" id="900" />
+<TGConnectingPoint num="0" id="860" />
+<TGConnectingPoint num="1" id="861" />
 </COMPONENT>
 
-<COMPONENT type="1011" id="904" >
+<COMPONENT type="1011" id="865" >
 <cdparam x="270" y="831" />
 <sizeparam width="153" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="action state" value="seqNum=seqNum+wind" />
-<TGConnectingPoint num="0" id="902" />
-<TGConnectingPoint num="1" id="903" />
+<TGConnectingPoint num="0" id="863" />
+<TGConnectingPoint num="1" id="864" />
 </COMPONENT>
 
-<COMPONENT type="1008" id="907" >
+<COMPONENT type="1008" id="868" >
 <cdparam x="206" y="1052" />
 <sizeparam width="46" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="send event" value="send()" />
-<TGConnectingPoint num="0" id="905" />
-<TGConnectingPoint num="1" id="906" />
+<TGConnectingPoint num="0" id="866" />
+<TGConnectingPoint num="1" id="867" />
 <extraparam>
 <Data eventName="send" nbOfParams="5" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1008" id="910" >
+<COMPONENT type="1008" id="871" >
 <cdparam x="323" y="962" />
 <sizeparam width="46" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="send event" value="send()" />
-<TGConnectingPoint num="0" id="908" />
-<TGConnectingPoint num="1" id="909" />
+<TGConnectingPoint num="0" id="869" />
+<TGConnectingPoint num="1" id="870" />
 <extraparam>
 <Data eventName="send" nbOfParams="5" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1008" id="913" >
+<COMPONENT type="1008" id="874" >
 <cdparam x="415" y="983" />
 <sizeparam width="46" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="send event" value="send()" />
-<TGConnectingPoint num="0" id="911" />
-<TGConnectingPoint num="1" id="912" />
+<TGConnectingPoint num="0" id="872" />
+<TGConnectingPoint num="1" id="873" />
 <extraparam>
 <Data eventName="send" nbOfParams="5" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1008" id="916" >
+<COMPONENT type="1008" id="877" >
 <cdparam x="109" y="986" />
 <sizeparam width="46" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="send event" value="send()" />
-<TGConnectingPoint num="0" id="914" />
-<TGConnectingPoint num="1" id="915" />
+<TGConnectingPoint num="0" id="875" />
+<TGConnectingPoint num="1" id="876" />
 <extraparam>
 <Data eventName="send" nbOfParams="5" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1008" id="919" >
+<COMPONENT type="1008" id="880" >
 <cdparam x="699" y="813" />
 <sizeparam width="46" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="send event" value="send()" />
-<TGConnectingPoint num="0" id="917" />
-<TGConnectingPoint num="1" id="918" />
+<TGConnectingPoint num="0" id="878" />
+<TGConnectingPoint num="1" id="879" />
 <extraparam>
 <Data eventName="send" nbOfParams="5" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1008" id="922" >
+<COMPONENT type="1008" id="883" >
 <cdparam x="775" y="1141" />
 <sizeparam width="46" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="send event" value="send()" />
-<TGConnectingPoint num="0" id="920" />
-<TGConnectingPoint num="1" id="921" />
+<TGConnectingPoint num="0" id="881" />
+<TGConnectingPoint num="1" id="882" />
 <extraparam>
 <Data eventName="send" nbOfParams="5" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1008" id="925" >
+<COMPONENT type="1008" id="886" >
 <cdparam x="920" y="1178" />
 <sizeparam width="46" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="send event" value="send()" />
-<TGConnectingPoint num="0" id="923" />
-<TGConnectingPoint num="1" id="924" />
+<TGConnectingPoint num="0" id="884" />
+<TGConnectingPoint num="1" id="885" />
 <extraparam>
 <Data eventName="send" nbOfParams="5" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1008" id="928" >
+<COMPONENT type="1008" id="889" >
 <cdparam x="1026" y="1211" />
 <sizeparam width="46" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="send event" value="send()" />
-<TGConnectingPoint num="0" id="926" />
-<TGConnectingPoint num="1" id="927" />
+<TGConnectingPoint num="0" id="887" />
+<TGConnectingPoint num="1" id="888" />
 <extraparam>
 <Data eventName="send" nbOfParams="5" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1001" id="930" >
+<COMPONENT type="1001" id="891" >
 <cdparam x="612" y="762" />
 <sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="stop state" value="null" />
-<TGConnectingPoint num="0" id="929" />
+<TGConnectingPoint num="0" id="890" />
 </COMPONENT>
 
-<COMPONENT type="1001" id="932" >
+<COMPONENT type="1001" id="893" >
 <cdparam x="899" y="922" />
 <sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="stop state" value="null" />
-<TGConnectingPoint num="0" id="931" />
+<TGConnectingPoint num="0" id="892" />
 </COMPONENT>
 
-<COMPONENT type="1006" id="935" >
+<COMPONENT type="1006" id="896" >
 <cdparam x="1169" y="1214" />
 <sizeparam width="79" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="write channel" value="fromTtoP(1)" />
-<TGConnectingPoint num="0" id="933" />
-<TGConnectingPoint num="1" id="934" />
+<TGConnectingPoint num="0" id="894" />
+<TGConnectingPoint num="1" id="895" />
 <extraparam>
 <Data channelName="fromTtoP" nbOfSamples="1" secPattern="" isAttacker="No" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="301" id="952" >
+<COMPONENT type="301" id="913" >
 <cdparam x="1159" y="1153" />
 <sizeparam width="108" height="15" minWidth="50" minHeight="20" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="UML Note" value="send Ack of Fin
 " />
-<TGConnectingPoint num="0" id="936" />
-<TGConnectingPoint num="1" id="937" />
-<TGConnectingPoint num="2" id="938" />
-<TGConnectingPoint num="3" id="939" />
-<TGConnectingPoint num="4" id="940" />
-<TGConnectingPoint num="5" id="941" />
-<TGConnectingPoint num="6" id="942" />
-<TGConnectingPoint num="7" id="943" />
-<TGConnectingPoint num="8" id="944" />
-<TGConnectingPoint num="9" id="945" />
-<TGConnectingPoint num="10" id="946" />
-<TGConnectingPoint num="11" id="947" />
-<TGConnectingPoint num="12" id="948" />
-<TGConnectingPoint num="13" id="949" />
-<TGConnectingPoint num="14" id="950" />
-<TGConnectingPoint num="15" id="951" />
+<TGConnectingPoint num="0" id="897" />
+<TGConnectingPoint num="1" id="898" />
+<TGConnectingPoint num="2" id="899" />
+<TGConnectingPoint num="3" id="900" />
+<TGConnectingPoint num="4" id="901" />
+<TGConnectingPoint num="5" id="902" />
+<TGConnectingPoint num="6" id="903" />
+<TGConnectingPoint num="7" id="904" />
+<TGConnectingPoint num="8" id="905" />
+<TGConnectingPoint num="9" id="906" />
+<TGConnectingPoint num="10" id="907" />
+<TGConnectingPoint num="11" id="908" />
+<TGConnectingPoint num="12" id="909" />
+<TGConnectingPoint num="13" id="910" />
+<TGConnectingPoint num="14" id="911" />
+<TGConnectingPoint num="15" id="912" />
 <extraparam>
 <Line value="send Ack of Fin" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1011" id="955" >
+<COMPONENT type="1011" id="916" >
 <cdparam x="1158" y="1295" />
 <sizeparam width="100" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="action state" value="tcpctrl.state =8" />
-<TGConnectingPoint num="0" id="953" />
-<TGConnectingPoint num="1" id="954" />
+<TGConnectingPoint num="0" id="914" />
+<TGConnectingPoint num="1" id="915" />
 </COMPONENT>
 
-<COMPONENT type="1001" id="957" >
+<COMPONENT type="1001" id="918" >
 <cdparam x="1197" y="1471" />
 <sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="stop state" value="null" />
-<TGConnectingPoint num="0" id="956" />
+<TGConnectingPoint num="0" id="917" />
 </COMPONENT>
 
-<COMPONENT type="1011" id="960" >
+<COMPONENT type="1011" id="921" >
 <cdparam x="1157" y="1402" />
 <sizeparam width="100" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="action state" value="tcpctrl.state =0" />
-<TGConnectingPoint num="0" id="958" />
-<TGConnectingPoint num="1" id="959" />
+<TGConnectingPoint num="0" id="919" />
+<TGConnectingPoint num="1" id="920" />
 </COMPONENT>
 
-<COMPONENT type="1008" id="963" >
+<COMPONENT type="1008" id="924" >
 <cdparam x="1185" y="1351" />
 <sizeparam width="46" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="send event" value="send()" />
-<TGConnectingPoint num="0" id="961" />
-<TGConnectingPoint num="1" id="962" />
+<TGConnectingPoint num="0" id="922" />
+<TGConnectingPoint num="1" id="923" />
 <extraparam>
 <Data eventName="send" nbOfParams="5" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1001" id="965" >
+<COMPONENT type="1001" id="926" >
 <cdparam x="1277" y="1070" />
 <sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="stop state" value="null" />
-<TGConnectingPoint num="0" id="964" />
+<TGConnectingPoint num="0" id="925" />
 </COMPONENT>
 
-<COMPONENT type="1001" id="967" >
+<COMPONENT type="1001" id="928" >
 <cdparam x="1519" y="1457" />
 <sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="stop state" value="null" />
-<TGConnectingPoint num="0" id="966" />
+<TGConnectingPoint num="0" id="927" />
 </COMPONENT>
 
-<COMPONENT type="1006" id="970" >
+<COMPONENT type="1006" id="931" >
 <cdparam x="1489" y="1132" />
 <sizeparam width="80" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="write channel" value="fromTtoA(1)" />
-<TGConnectingPoint num="0" id="968" />
-<TGConnectingPoint num="1" id="969" />
+<TGConnectingPoint num="0" id="929" />
+<TGConnectingPoint num="1" id="930" />
 <extraparam>
 <Data channelName="fromTtoA" nbOfSamples="1" secPattern="" isAttacker="No" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1006" id="973" >
+<COMPONENT type="1006" id="934" >
 <cdparam x="1490" y="1348" />
 <sizeparam width="79" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="write channel" value="fromTtoP(1)" />
-<TGConnectingPoint num="0" id="971" />
-<TGConnectingPoint num="1" id="972" />
+<TGConnectingPoint num="0" id="932" />
+<TGConnectingPoint num="1" id="933" />
 <extraparam>
 <Data channelName="fromTtoP" nbOfSamples="1" secPattern="" isAttacker="No" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1008" id="976" >
+<COMPONENT type="1008" id="937" >
 <cdparam x="1710" y="1026" />
 <sizeparam width="43" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="send event" value="stop()" />
-<TGConnectingPoint num="0" id="974" />
-<TGConnectingPoint num="1" id="975" />
+<TGConnectingPoint num="0" id="935" />
+<TGConnectingPoint num="1" id="936" />
 <extraparam>
 <Data eventName="stop" nbOfParams="5" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="301" id="993" >
+<COMPONENT type="301" id="954" >
 <cdparam x="1759" y="1192" />
 <sizeparam width="86" height="15" minWidth="50" minHeight="20" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="UML Note" value="Correct ack
 " />
-<TGConnectingPoint num="0" id="977" />
-<TGConnectingPoint num="1" id="978" />
-<TGConnectingPoint num="2" id="979" />
-<TGConnectingPoint num="3" id="980" />
-<TGConnectingPoint num="4" id="981" />
-<TGConnectingPoint num="5" id="982" />
-<TGConnectingPoint num="6" id="983" />
-<TGConnectingPoint num="7" id="984" />
-<TGConnectingPoint num="8" id="985" />
-<TGConnectingPoint num="9" id="986" />
-<TGConnectingPoint num="10" id="987" />
-<TGConnectingPoint num="11" id="988" />
-<TGConnectingPoint num="12" id="989" />
-<TGConnectingPoint num="13" id="990" />
-<TGConnectingPoint num="14" id="991" />
-<TGConnectingPoint num="15" id="992" />
+<TGConnectingPoint num="0" id="938" />
+<TGConnectingPoint num="1" id="939" />
+<TGConnectingPoint num="2" id="940" />
+<TGConnectingPoint num="3" id="941" />
+<TGConnectingPoint num="4" id="942" />
+<TGConnectingPoint num="5" id="943" />
+<TGConnectingPoint num="6" id="944" />
+<TGConnectingPoint num="7" id="945" />
+<TGConnectingPoint num="8" id="946" />
+<TGConnectingPoint num="9" id="947" />
+<TGConnectingPoint num="10" id="948" />
+<TGConnectingPoint num="11" id="949" />
+<TGConnectingPoint num="12" id="950" />
+<TGConnectingPoint num="13" id="951" />
+<TGConnectingPoint num="14" id="952" />
+<TGConnectingPoint num="15" id="953" />
 <extraparam>
 <Line value="Correct ack" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="301" id="1010" >
+<COMPONENT type="301" id="971" >
 <cdparam x="1635" y="1168" />
 <sizeparam width="71" height="15" minWidth="50" minHeight="20" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="UML Note" value="false ack
 " />
-<TGConnectingPoint num="0" id="994" />
-<TGConnectingPoint num="1" id="995" />
-<TGConnectingPoint num="2" id="996" />
-<TGConnectingPoint num="3" id="997" />
-<TGConnectingPoint num="4" id="998" />
-<TGConnectingPoint num="5" id="999" />
-<TGConnectingPoint num="6" id="1000" />
-<TGConnectingPoint num="7" id="1001" />
-<TGConnectingPoint num="8" id="1002" />
-<TGConnectingPoint num="9" id="1003" />
-<TGConnectingPoint num="10" id="1004" />
-<TGConnectingPoint num="11" id="1005" />
-<TGConnectingPoint num="12" id="1006" />
-<TGConnectingPoint num="13" id="1007" />
-<TGConnectingPoint num="14" id="1008" />
-<TGConnectingPoint num="15" id="1009" />
+<TGConnectingPoint num="0" id="955" />
+<TGConnectingPoint num="1" id="956" />
+<TGConnectingPoint num="2" id="957" />
+<TGConnectingPoint num="3" id="958" />
+<TGConnectingPoint num="4" id="959" />
+<TGConnectingPoint num="5" id="960" />
+<TGConnectingPoint num="6" id="961" />
+<TGConnectingPoint num="7" id="962" />
+<TGConnectingPoint num="8" id="963" />
+<TGConnectingPoint num="9" id="964" />
+<TGConnectingPoint num="10" id="965" />
+<TGConnectingPoint num="11" id="966" />
+<TGConnectingPoint num="12" id="967" />
+<TGConnectingPoint num="13" id="968" />
+<TGConnectingPoint num="14" id="969" />
+<TGConnectingPoint num="15" id="970" />
 <extraparam>
 <Line value="false ack" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1006" id="1013" >
+<COMPONENT type="1006" id="974" >
 <cdparam x="1602" y="1299" />
 <sizeparam width="79" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="write channel" value="fromTtoP(1)" />
-<TGConnectingPoint num="0" id="1011" />
-<TGConnectingPoint num="1" id="1012" />
+<TGConnectingPoint num="0" id="972" />
+<TGConnectingPoint num="1" id="973" />
 <extraparam>
 <Data channelName="fromTtoP" nbOfSamples="1" secPattern="" isAttacker="No" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1001" id="1015" >
+<COMPONENT type="1001" id="976" >
 <cdparam x="1632" y="1468" />
 <sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="stop state" value="null" />
-<TGConnectingPoint num="0" id="1014" />
+<TGConnectingPoint num="0" id="975" />
 </COMPONENT>
 
-<COMPONENT type="301" id="1032" >
+<COMPONENT type="301" id="993" >
 <cdparam x="1469" y="1295" />
 <sizeparam width="127" height="15" minWidth="50" minHeight="20" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="UML Note" value="return acknowldge
 " />
-<TGConnectingPoint num="0" id="1016" />
-<TGConnectingPoint num="1" id="1017" />
-<TGConnectingPoint num="2" id="1018" />
-<TGConnectingPoint num="3" id="1019" />
-<TGConnectingPoint num="4" id="1020" />
-<TGConnectingPoint num="5" id="1021" />
-<TGConnectingPoint num="6" id="1022" />
-<TGConnectingPoint num="7" id="1023" />
-<TGConnectingPoint num="8" id="1024" />
-<TGConnectingPoint num="9" id="1025" />
-<TGConnectingPoint num="10" id="1026" />
-<TGConnectingPoint num="11" id="1027" />
-<TGConnectingPoint num="12" id="1028" />
-<TGConnectingPoint num="13" id="1029" />
-<TGConnectingPoint num="14" id="1030" />
-<TGConnectingPoint num="15" id="1031" />
+<TGConnectingPoint num="0" id="977" />
+<TGConnectingPoint num="1" id="978" />
+<TGConnectingPoint num="2" id="979" />
+<TGConnectingPoint num="3" id="980" />
+<TGConnectingPoint num="4" id="981" />
+<TGConnectingPoint num="5" id="982" />
+<TGConnectingPoint num="6" id="983" />
+<TGConnectingPoint num="7" id="984" />
+<TGConnectingPoint num="8" id="985" />
+<TGConnectingPoint num="9" id="986" />
+<TGConnectingPoint num="10" id="987" />
+<TGConnectingPoint num="11" id="988" />
+<TGConnectingPoint num="12" id="989" />
+<TGConnectingPoint num="13" id="990" />
+<TGConnectingPoint num="14" id="991" />
+<TGConnectingPoint num="15" id="992" />
 <extraparam>
 <Line value="return acknowldge" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="301" id="1049" >
+<COMPONENT type="301" id="1010" >
 <cdparam x="1620" y="927" />
 <sizeparam width="50" height="15" minWidth="50" minHeight="20" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="UML Note" value="data
 " />
-<TGConnectingPoint num="0" id="1033" />
-<TGConnectingPoint num="1" id="1034" />
-<TGConnectingPoint num="2" id="1035" />
-<TGConnectingPoint num="3" id="1036" />
-<TGConnectingPoint num="4" id="1037" />
-<TGConnectingPoint num="5" id="1038" />
-<TGConnectingPoint num="6" id="1039" />
-<TGConnectingPoint num="7" id="1040" />
-<TGConnectingPoint num="8" id="1041" />
-<TGConnectingPoint num="9" id="1042" />
-<TGConnectingPoint num="10" id="1043" />
-<TGConnectingPoint num="11" id="1044" />
-<TGConnectingPoint num="12" id="1045" />
-<TGConnectingPoint num="13" id="1046" />
-<TGConnectingPoint num="14" id="1047" />
-<TGConnectingPoint num="15" id="1048" />
+<TGConnectingPoint num="0" id="994" />
+<TGConnectingPoint num="1" id="995" />
+<TGConnectingPoint num="2" id="996" />
+<TGConnectingPoint num="3" id="997" />
+<TGConnectingPoint num="4" id="998" />
+<TGConnectingPoint num="5" id="999" />
+<TGConnectingPoint num="6" id="1000" />
+<TGConnectingPoint num="7" id="1001" />
+<TGConnectingPoint num="8" id="1002" />
+<TGConnectingPoint num="9" id="1003" />
+<TGConnectingPoint num="10" id="1004" />
+<TGConnectingPoint num="11" id="1005" />
+<TGConnectingPoint num="12" id="1006" />
+<TGConnectingPoint num="13" id="1007" />
+<TGConnectingPoint num="14" id="1008" />
+<TGConnectingPoint num="15" id="1009" />
 <extraparam>
 <Line value="data" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1008" id="1052" >
+<COMPONENT type="1008" id="1013" >
 <cdparam x="1506" y="1405" />
 <sizeparam width="46" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="send event" value="send()" />
-<TGConnectingPoint num="0" id="1050" />
-<TGConnectingPoint num="1" id="1051" />
+<TGConnectingPoint num="0" id="1011" />
+<TGConnectingPoint num="1" id="1012" />
 <extraparam>
 <Data eventName="send" nbOfParams="5" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1008" id="1055" >
+<COMPONENT type="1008" id="1016" >
 <cdparam x="1619" y="1348" />
 <sizeparam width="46" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="send event" value="send()" />
-<TGConnectingPoint num="0" id="1053" />
-<TGConnectingPoint num="1" id="1054" />
+<TGConnectingPoint num="0" id="1014" />
+<TGConnectingPoint num="1" id="1015" />
 <extraparam>
 <Data eventName="send" nbOfParams="5" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1006" id="1058" >
+<COMPONENT type="1006" id="1019" >
 <cdparam x="1614" y="1404" />
 <sizeparam width="56" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="write channel" value="temp(1)" />
-<TGConnectingPoint num="0" id="1056" />
-<TGConnectingPoint num="1" id="1057" />
+<TGConnectingPoint num="0" id="1017" />
+<TGConnectingPoint num="1" id="1018" />
 <extraparam>
 <Data channelName="temp" nbOfSamples="1" secPattern="" isAttacker="No" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1001" id="1060" >
+<COMPONENT type="1001" id="1021" >
 <cdparam x="1730" y="1335" />
 <sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="stop state" value="null" />
-<TGConnectingPoint num="0" id="1059" />
+<TGConnectingPoint num="0" id="1020" />
 </COMPONENT>
 
-<COMPONENT type="1011" id="1063" >
+<COMPONENT type="1011" id="1024" >
 <cdparam x="1776" y="1349" />
 <sizeparam width="100" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="action state" value="tcpctrl.state =4" />
-<TGConnectingPoint num="0" id="1061" />
-<TGConnectingPoint num="1" id="1062" />
+<TGConnectingPoint num="0" id="1022" />
+<TGConnectingPoint num="1" id="1023" />
 </COMPONENT>
 
-<COMPONENT type="1001" id="1065" >
+<COMPONENT type="1001" id="1026" >
 <cdparam x="1818" y="1457" />
 <sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="stop state" value="null" />
-<TGConnectingPoint num="0" id="1064" />
+<TGConnectingPoint num="0" id="1025" />
 </COMPONENT>
 
-<COMPONENT type="1011" id="1068" >
+<COMPONENT type="1011" id="1029" >
 <cdparam x="1870" y="1411" />
 <sizeparam width="100" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="action state" value="tcpctrl.state =6" />
-<TGConnectingPoint num="0" id="1066" />
-<TGConnectingPoint num="1" id="1067" />
+<TGConnectingPoint num="0" id="1027" />
+<TGConnectingPoint num="1" id="1028" />
 </COMPONENT>
 
-<COMPONENT type="1001" id="1070" >
+<COMPONENT type="1001" id="1031" >
 <cdparam x="1910" y="1481" />
 <sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="stop state" value="null" />
-<TGConnectingPoint num="0" id="1069" />
+<TGConnectingPoint num="0" id="1030" />
 </COMPONENT>
 
-<COMPONENT type="1001" id="1072" >
+<COMPONENT type="1001" id="1033" >
 <cdparam x="1986" y="1543" />
 <sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="stop state" value="null" />
-<TGConnectingPoint num="0" id="1071" />
+<TGConnectingPoint num="0" id="1032" />
 </COMPONENT>
 
-<COMPONENT type="1011" id="1075" >
+<COMPONENT type="1011" id="1036" >
 <cdparam x="2051" y="1466" />
 <sizeparam width="100" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="action state" value="tcpctrl.state =0" />
-<TGConnectingPoint num="0" id="1073" />
-<TGConnectingPoint num="1" id="1074" />
+<TGConnectingPoint num="0" id="1034" />
+<TGConnectingPoint num="1" id="1035" />
 </COMPONENT>
 
-<COMPONENT type="1001" id="1077" >
+<COMPONENT type="1001" id="1038" >
 <cdparam x="2091" y="1537" />
 <sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="stop state" value="null" />
-<TGConnectingPoint num="0" id="1076" />
+<TGConnectingPoint num="0" id="1037" />
 </COMPONENT>
 
-<COMPONENT type="1011" id="1080" >
+<COMPONENT type="1011" id="1041" >
 <cdparam x="1946" y="1493" />
 <sizeparam width="100" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="action state" value="tcpctrl.state =0" />
-<TGConnectingPoint num="0" id="1078" />
-<TGConnectingPoint num="1" id="1079" />
+<TGConnectingPoint num="0" id="1039" />
+<TGConnectingPoint num="1" id="1040" />
 </COMPONENT>
 
-<COMPONENT type="1011" id="1083" >
+<COMPONENT type="1011" id="1044" >
 <cdparam x="1946" y="1434" />
 <sizeparam width="100" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="action state" value="tcpctrl.state =8" />
-<TGConnectingPoint num="0" id="1081" />
-<TGConnectingPoint num="1" id="1082" />
+<TGConnectingPoint num="0" id="1042" />
+<TGConnectingPoint num="1" id="1043" />
 </COMPONENT>
 
-<COMPONENT type="301" id="1100" >
+<COMPONENT type="301" id="1061" >
 <cdparam x="1825" y="889" />
 <sizeparam width="50" height="15" minWidth="50" minHeight="20" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="UML Note" value="Syn
 " />
-<TGConnectingPoint num="0" id="1084" />
-<TGConnectingPoint num="1" id="1085" />
-<TGConnectingPoint num="2" id="1086" />
-<TGConnectingPoint num="3" id="1087" />
-<TGConnectingPoint num="4" id="1088" />
-<TGConnectingPoint num="5" id="1089" />
-<TGConnectingPoint num="6" id="1090" />
-<TGConnectingPoint num="7" id="1091" />
-<TGConnectingPoint num="8" id="1092" />
-<TGConnectingPoint num="9" id="1093" />
-<TGConnectingPoint num="10" id="1094" />
-<TGConnectingPoint num="11" id="1095" />
-<TGConnectingPoint num="12" id="1096" />
-<TGConnectingPoint num="13" id="1097" />
-<TGConnectingPoint num="14" id="1098" />
-<TGConnectingPoint num="15" id="1099" />
+<TGConnectingPoint num="0" id="1045" />
+<TGConnectingPoint num="1" id="1046" />
+<TGConnectingPoint num="2" id="1047" />
+<TGConnectingPoint num="3" id="1048" />
+<TGConnectingPoint num="4" id="1049" />
+<TGConnectingPoint num="5" id="1050" />
+<TGConnectingPoint num="6" id="1051" />
+<TGConnectingPoint num="7" id="1052" />
+<TGConnectingPoint num="8" id="1053" />
+<TGConnectingPoint num="9" id="1054" />
+<TGConnectingPoint num="10" id="1055" />
+<TGConnectingPoint num="11" id="1056" />
+<TGConnectingPoint num="12" id="1057" />
+<TGConnectingPoint num="13" id="1058" />
+<TGConnectingPoint num="14" id="1059" />
+<TGConnectingPoint num="15" id="1060" />
 <extraparam>
 <Line value="Syn" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="301" id="1117" >
+<COMPONENT type="301" id="1078" >
 <cdparam x="1707" y="945" />
 <sizeparam width="50" height="15" minWidth="50" minHeight="20" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="UML Note" value="ack
 " />
-<TGConnectingPoint num="0" id="1101" />
-<TGConnectingPoint num="1" id="1102" />
-<TGConnectingPoint num="2" id="1103" />
-<TGConnectingPoint num="3" id="1104" />
-<TGConnectingPoint num="4" id="1105" />
-<TGConnectingPoint num="5" id="1106" />
-<TGConnectingPoint num="6" id="1107" />
-<TGConnectingPoint num="7" id="1108" />
-<TGConnectingPoint num="8" id="1109" />
-<TGConnectingPoint num="9" id="1110" />
-<TGConnectingPoint num="10" id="1111" />
-<TGConnectingPoint num="11" id="1112" />
-<TGConnectingPoint num="12" id="1113" />
-<TGConnectingPoint num="13" id="1114" />
-<TGConnectingPoint num="14" id="1115" />
-<TGConnectingPoint num="15" id="1116" />
+<TGConnectingPoint num="0" id="1062" />
+<TGConnectingPoint num="1" id="1063" />
+<TGConnectingPoint num="2" id="1064" />
+<TGConnectingPoint num="3" id="1065" />
+<TGConnectingPoint num="4" id="1066" />
+<TGConnectingPoint num="5" id="1067" />
+<TGConnectingPoint num="6" id="1068" />
+<TGConnectingPoint num="7" id="1069" />
+<TGConnectingPoint num="8" id="1070" />
+<TGConnectingPoint num="9" id="1071" />
+<TGConnectingPoint num="10" id="1072" />
+<TGConnectingPoint num="11" id="1073" />
+<TGConnectingPoint num="12" id="1074" />
+<TGConnectingPoint num="13" id="1075" />
+<TGConnectingPoint num="14" id="1076" />
+<TGConnectingPoint num="15" id="1077" />
 <extraparam>
 <Line value="ack" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1006" id="1120" >
+<COMPONENT type="1006" id="1081" >
 <cdparam x="2179" y="1198" />
 <sizeparam width="79" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="write channel" value="fromTtoP(1)" />
-<TGConnectingPoint num="0" id="1118" />
-<TGConnectingPoint num="1" id="1119" />
+<TGConnectingPoint num="0" id="1079" />
+<TGConnectingPoint num="1" id="1080" />
 <extraparam>
 <Data channelName="fromTtoP" nbOfSamples="1" secPattern="" isAttacker="No" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1001" id="1122" >
+<COMPONENT type="1001" id="1083" >
 <cdparam x="2207" y="1483" />
 <sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="stop state" value="null" />
-<TGConnectingPoint num="0" id="1121" />
+<TGConnectingPoint num="0" id="1082" />
 </COMPONENT>
 
-<COMPONENT type="1007" id="1125" >
+<COMPONENT type="1007" id="1086" >
 <cdparam x="2178" y="1298" />
 <sizeparam width="78" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="send request" value="req_Timer()" />
-<TGConnectingPoint num="0" id="1123" />
-<TGConnectingPoint num="1" id="1124" />
+<TGConnectingPoint num="0" id="1084" />
+<TGConnectingPoint num="1" id="1085" />
 <extraparam>
 <Data requestName="req_Timer" nbOfParams="5" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1006" id="1128" >
+<COMPONENT type="1006" id="1089" >
 <cdparam x="2189" y="1365" />
 <sizeparam width="56" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="write channel" value="temp(1)" />
-<TGConnectingPoint num="0" id="1126" />
-<TGConnectingPoint num="1" id="1127" />
+<TGConnectingPoint num="0" id="1087" />
+<TGConnectingPoint num="1" id="1088" />
 <extraparam>
 <Data channelName="temp" nbOfSamples="1" secPattern="" isAttacker="No" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1011" id="1131" >
+<COMPONENT type="1011" id="1092" >
 <cdparam x="2142" y="1136" />
 <sizeparam width="153" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="action state" value="seqNum=seqNum+wind" />
-<TGConnectingPoint num="0" id="1129" />
-<TGConnectingPoint num="1" id="1130" />
+<TGConnectingPoint num="0" id="1090" />
+<TGConnectingPoint num="1" id="1091" />
 </COMPONENT>
 
-<COMPONENT type="1008" id="1134" >
+<COMPONENT type="1008" id="1095" >
 <cdparam x="2194" y="1248" />
 <sizeparam width="46" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="send event" value="send()" />
-<TGConnectingPoint num="0" id="1132" />
-<TGConnectingPoint num="1" id="1133" />
+<TGConnectingPoint num="0" id="1093" />
+<TGConnectingPoint num="1" id="1094" />
 <extraparam>
 <Data eventName="send" nbOfParams="5" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1011" id="1137" >
+<COMPONENT type="1011" id="1098" >
 <cdparam x="2167" y="1424" />
 <sizeparam width="100" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="action state" value="tcpctrl.state =2" />
-<TGConnectingPoint num="0" id="1135" />
-<TGConnectingPoint num="1" id="1136" />
+<TGConnectingPoint num="0" id="1096" />
+<TGConnectingPoint num="1" id="1097" />
 </COMPONENT>
 
-<COMPONENT type="1006" id="1140" >
+<COMPONENT type="1006" id="1101" >
 <cdparam x="2302" y="1122" />
 <sizeparam width="79" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="write channel" value="fromTtoP(1)" />
-<TGConnectingPoint num="0" id="1138" />
-<TGConnectingPoint num="1" id="1139" />
+<TGConnectingPoint num="0" id="1099" />
+<TGConnectingPoint num="1" id="1100" />
 <extraparam>
 <Data channelName="fromTtoP" nbOfSamples="1" secPattern="" isAttacker="No" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="301" id="1157" >
+<COMPONENT type="301" id="1118" >
 <cdparam x="2283" y="1065" />
 <sizeparam width="114" height="15" minWidth="50" minHeight="20" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="UML Note" value="send Ack of SYN
 " />
-<TGConnectingPoint num="0" id="1141" />
-<TGConnectingPoint num="1" id="1142" />
-<TGConnectingPoint num="2" id="1143" />
-<TGConnectingPoint num="3" id="1144" />
-<TGConnectingPoint num="4" id="1145" />
-<TGConnectingPoint num="5" id="1146" />
-<TGConnectingPoint num="6" id="1147" />
-<TGConnectingPoint num="7" id="1148" />
-<TGConnectingPoint num="8" id="1149" />
-<TGConnectingPoint num="9" id="1150" />
-<TGConnectingPoint num="10" id="1151" />
-<TGConnectingPoint num="11" id="1152" />
-<TGConnectingPoint num="12" id="1153" />
-<TGConnectingPoint num="13" id="1154" />
-<TGConnectingPoint num="14" id="1155" />
-<TGConnectingPoint num="15" id="1156" />
+<TGConnectingPoint num="0" id="1102" />
+<TGConnectingPoint num="1" id="1103" />
+<TGConnectingPoint num="2" id="1104" />
+<TGConnectingPoint num="3" id="1105" />
+<TGConnectingPoint num="4" id="1106" />
+<TGConnectingPoint num="5" id="1107" />
+<TGConnectingPoint num="6" id="1108" />
+<TGConnectingPoint num="7" id="1109" />
+<TGConnectingPoint num="8" id="1110" />
+<TGConnectingPoint num="9" id="1111" />
+<TGConnectingPoint num="10" id="1112" />
+<TGConnectingPoint num="11" id="1113" />
+<TGConnectingPoint num="12" id="1114" />
+<TGConnectingPoint num="13" id="1115" />
+<TGConnectingPoint num="14" id="1116" />
+<TGConnectingPoint num="15" id="1117" />
 <extraparam>
 <Line value="send Ack of SYN" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1011" id="1160" >
+<COMPONENT type="1011" id="1121" >
 <cdparam x="2291" y="1267" />
 <sizeparam width="100" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="action state" value="tcpctrl.state =2" />
-<TGConnectingPoint num="0" id="1158" />
-<TGConnectingPoint num="1" id="1159" />
+<TGConnectingPoint num="0" id="1119" />
+<TGConnectingPoint num="1" id="1120" />
 </COMPONENT>
 
-<COMPONENT type="1001" id="1162" >
+<COMPONENT type="1001" id="1123" >
 <cdparam x="2330" y="1324" />
 <sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="stop state" value="null" />
-<TGConnectingPoint num="0" id="1161" />
+<TGConnectingPoint num="0" id="1122" />
 </COMPONENT>
 
-<COMPONENT type="1008" id="1165" >
+<COMPONENT type="1008" id="1126" >
 <cdparam x="2318" y="1199" />
 <sizeparam width="46" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="send event" value="send()" />
-<TGConnectingPoint num="0" id="1163" />
-<TGConnectingPoint num="1" id="1164" />
+<TGConnectingPoint num="0" id="1124" />
+<TGConnectingPoint num="1" id="1125" />
 <extraparam>
 <Data eventName="send" nbOfParams="5" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1001" id="1167" >
+<COMPONENT type="1001" id="1128" >
 <cdparam x="1649" y="1057" />
 <sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="stop state" value="null" />
-<TGConnectingPoint num="0" id="1166" />
+<TGConnectingPoint num="0" id="1127" />
 </COMPONENT>
 
-<COMPONENT type="1001" id="1169" >
+<COMPONENT type="1001" id="1130" >
 <cdparam x="2168" y="1421" />
 <sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="stop state" value="null" />
-<TGConnectingPoint num="0" id="1168" />
+<TGConnectingPoint num="0" id="1129" />
 </COMPONENT>
 
-<COMPONENT type="1001" id="1171" >
+<COMPONENT type="1001" id="1132" >
 <cdparam x="2268" y="1039" />
 <sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="stop state" value="null" />
-<TGConnectingPoint num="0" id="1170" />
+<TGConnectingPoint num="0" id="1131" />
 </COMPONENT>
 
-<COMPONENT type="1008" id="1174" >
+<COMPONENT type="1008" id="1135" >
 <cdparam x="1465" y="1192" />
 <sizeparam width="129" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="send event" value="receive_Application()" />
-<TGConnectingPoint num="0" id="1172" />
-<TGConnectingPoint num="1" id="1173" />
+<TGConnectingPoint num="0" id="1133" />
+<TGConnectingPoint num="1" id="1134" />
 <extraparam>
 <Data eventName="receive_Application" nbOfParams="5" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1009" id="1177" >
+<COMPONENT type="1009" id="1138" >
 <cdparam x="1701" y="1086" />
 <sizeparam width="60" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
 <infoparam name="read channel" value="temp(1) " />
-<TGConnectingPoint num="0" id="1175" />
-<TGConnectingPoint num="1" id="1176" />
+<TGConnectingPoint num="0" id="1136" />
+<TGConnectingPoint num="1" id="1137" />
 <extraparam>
 <Data channelName="temp" nbOfSamples="1" secPattern="" isAttacker="No" />
 </extraparam>
 </COMPONENT>
 
-<CONNECTOR type="115" id="1178" >
+<CONNECTOR type="115" id="1139" >
 <cdparam x="1048" y="795" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from choice to choice" value="null" />
-<P1  x="1048" y="795" id="568" />
-<P2  x="1728" y="865" id="490" />
+<P1  x="1048" y="795" id="529" />
+<P2  x="1728" y="865" id="451" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1179" >
+<CONNECTOR type="115" id="1140" >
 <cdparam x="1048" y="795" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from choice to choice" value="null" />
-<P1  x="1089" y="954" id="540" />
-<P2  x="1208" y="1010" id="510" />
+<P1  x="1089" y="954" id="501" />
+<P2  x="1208" y="1010" id="471" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1180" >
+<CONNECTOR type="115" id="1141" >
 <cdparam x="1008" y="610" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from read channel to execI" value="null" />
-<P1  x="1008" y="610" id="644" />
-<P2  x="1008" y="696" id="572" />
+<P1  x="1008" y="610" id="605" />
+<P2  x="1008" y="696" id="533" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1181" >
+<CONNECTOR type="115" id="1142" >
 <cdparam x="722" y="614" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from read channel to execI" value="null" />
-<P1  x="722" y="614" id="659" />
-<P2  x="722" y="689" id="528" />
+<P1  x="722" y="614" id="620" />
+<P2  x="722" y="689" id="489" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1182" >
+<CONNECTOR type="115" id="1143" >
 <cdparam x="504" y="597" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from choice to choice" value="null" />
-<P1  x="504" y="597" id="608" />
-<P2  x="572" y="702" id="522" />
+<P1  x="504" y="597" id="569" />
+<P2  x="572" y="702" id="483" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1183" >
+<CONNECTOR type="115" id="1144" >
 <cdparam x="464" y="637" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from choice to execI" value="null" />
-<P1  x="464" y="637" id="609" />
-<P2  x="439" y="778" id="576" />
+<P1  x="464" y="637" id="570" />
+<P2  x="439" y="778" id="537" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1184" >
+<CONNECTOR type="115" id="1145" >
 <cdparam x="424" y="597" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from choice to execI" value="null" />
-<P1  x="424" y="597" id="607" />
-<P2  x="346" y="759" id="556" />
+<P1  x="424" y="597" id="568" />
+<P2  x="346" y="759" id="517" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1185" >
+<CONNECTOR type="115" id="1146" >
 <cdparam x="289" y="619" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from choice to read channel" value="null" />
-<P1  x="289" y="619" id="617" />
-<P2  x="230" y="803" id="713" />
+<P1  x="289" y="619" id="578" />
+<P2  x="230" y="803" id="674" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1186" >
+<CONNECTOR type="115" id="1147" >
 <cdparam x="249" y="579" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from choice to execI" value="null" />
-<P1  x="249" y="579" id="615" />
-<P2  x="132" y="789" id="560" />
+<P1  x="249" y="579" id="576" />
+<P2  x="132" y="789" id="521" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1187" >
+<CONNECTOR type="115" id="1148" >
 <cdparam x="371" y="93" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from for loop to notified event" value="null" />
-<P1  x="320" y="99" id="647" />
-<P2  x="374" y="128" id="655" />
+<P1  x="320" y="99" id="608" />
+<P2  x="374" y="128" id="616" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1188" >
+<CONNECTOR type="115" id="1149" >
 <cdparam x="234" y="169" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from action state to stop state" value="null" />
-<P1  x="234" y="169" id="653" />
-<P2  x="234" y="202" id="650" />
+<P1  x="234" y="169" id="614" />
+<P2  x="234" y="202" id="611" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1189" >
+<CONNECTOR type="115" id="1150" >
 <cdparam x="234" y="104" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from for loop to action state" value="null" />
-<P1  x="235" y="110" id="648" />
-<P2  x="234" y="139" id="652" />
+<P1  x="235" y="110" id="609" />
+<P2  x="234" y="139" id="613" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1190" >
+<CONNECTOR type="115" id="1151" >
 <cdparam x="234" y="47" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from start state to for loop" value="null" />
-<P1  x="234" y="47" id="619" />
-<P2  x="235" y="80" id="646" />
+<P1  x="234" y="47" id="580" />
+<P2  x="235" y="80" id="607" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1191" >
+<CONNECTOR type="115" id="1152" >
 <cdparam x="425" y="162" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from notified event to choice" value="null" />
-<P1  x="374" y="158" id="656" />
-<P2  x="374" y="182" id="598" />
+<P1  x="374" y="158" id="617" />
+<P2  x="374" y="182" id="559" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1192" >
+<CONNECTOR type="115" id="1153" >
 <cdparam x="564" y="482" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from choice to wait event" value="null" />
-<P1  x="464" y="322" id="682" />
-<P2  x="722" y="529" id="661" />
+<P1  x="464" y="322" id="643" />
+<P2  x="722" y="529" id="622" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1193" >
+<CONNECTOR type="115" id="1154" >
 <cdparam x="722" y="559" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from wait event to read channel" value="null" />
-<P1  x="722" y="559" id="662" />
-<P2  x="722" y="584" id="658" />
+<P1  x="722" y="559" id="623" />
+<P2  x="722" y="584" id="619" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1194" >
+<CONNECTOR type="115" id="1155" >
 <cdparam x="604" y="442" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from choice to wait event" value="null" />
-<P1  x="504" y="282" id="678" />
-<P2  x="1008" y="523" id="664" />
+<P1  x="504" y="282" id="639" />
+<P2  x="1008" y="523" id="625" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1195" >
+<CONNECTOR type="115" id="1156" >
 <cdparam x="1007" y="553" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from wait event to read channel" value="null" />
-<P1  x="1008" y="553" id="665" />
-<P2  x="1008" y="580" id="643" />
+<P1  x="1008" y="553" id="626" />
+<P2  x="1008" y="580" id="604" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1196" >
+<CONNECTOR type="115" id="1157" >
 <cdparam x="524" y="442" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from choice to wait event" value="null" />
-<P1  x="464" y="322" id="679" />
-<P2  x="464" y="487" id="667" />
+<P1  x="464" y="322" id="640" />
+<P2  x="464" y="487" id="628" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1197" >
+<CONNECTOR type="115" id="1158" >
 <cdparam x="330" y="428" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from choice to wait event" value="null" />
-<P1  x="424" y="282" id="680" />
-<P2  x="289" y="463" id="670" />
+<P1  x="424" y="282" id="641" />
+<P2  x="289" y="463" id="631" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1198" >
+<CONNECTOR type="115" id="1159" >
 <cdparam x="318" y="520" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from wait event to choice" value="null" />
-<P1  x="289" y="493" id="671" />
-<P2  x="289" y="554" id="614" />
+<P1  x="289" y="493" id="632" />
+<P2  x="289" y="554" id="575" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1199" >
+<CONNECTOR type="115" id="1160" >
 <cdparam x="160" y="481" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from choice to action state" value="null" />
-<P1  x="148" y="501" id="591" />
-<P2  x="126" y="544" id="638" />
+<P1  x="148" y="501" id="552" />
+<P2  x="126" y="544" id="599" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1200" >
+<CONNECTOR type="115" id="1161" >
 <cdparam x="290" y="388" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from choice to wait event" value="null" />
-<P1  x="424" y="282" id="677" />
-<P2  x="188" y="414" id="673" />
+<P1  x="424" y="282" id="638" />
+<P2  x="188" y="414" id="634" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1201" >
+<CONNECTOR type="115" id="1162" >
 <cdparam x="229" y="467" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from wait event to choice" value="null" />
-<P1  x="188" y="444" id="674" />
-<P2  x="188" y="476" id="590" />
+<P1  x="188" y="444" id="635" />
+<P2  x="188" y="476" id="551" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1202" >
+<CONNECTOR type="115" id="1163" >
 <cdparam x="228" y="501" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from choice to stop state" value="null" />
-<P1  x="228" y="501" id="592" />
-<P2  x="236" y="524" id="687" />
+<P1  x="228" y="501" id="553" />
+<P2  x="236" y="524" id="648" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1203" >
+<CONNECTOR type="115" id="1164" >
 <cdparam x="334" y="207" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from choice to wait event" value="null" />
-<P1  x="334" y="207" id="599" />
-<P2  x="301" y="223" id="691" />
+<P1  x="334" y="207" id="560" />
+<P2  x="301" y="223" id="652" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1204" >
+<CONNECTOR type="115" id="1165" >
 <cdparam x="301" y="253" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from wait event to stop state" value="null" />
-<P1  x="301" y="253" id="692" />
-<P2  x="301" y="285" id="694" />
+<P1  x="301" y="253" id="653" />
+<P2  x="301" y="285" id="655" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1205" >
+<CONNECTOR type="115" id="1166" >
 <cdparam x="464" y="517" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from wait event to choice" value="null" />
-<P1  x="464" y="517" id="668" />
-<P2  x="464" y="572" id="606" />
+<P1  x="464" y="517" id="629" />
+<P2  x="464" y="572" id="567" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1206" >
+<CONNECTOR type="115" id="1167" >
 <cdparam x="329" y="579" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from choice to stop state" value="null" />
-<P1  x="329" y="579" id="616" />
-<P2  x="353" y="609" id="689" />
+<P1  x="329" y="579" id="577" />
+<P2  x="353" y="609" id="650" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1207" >
+<CONNECTOR type="115" id="1168" >
 <cdparam x="126" y="574" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from action state to stop state" value="null" />
-<P1  x="126" y="574" id="639" />
-<P2  x="126" y="610" id="641" />
+<P1  x="126" y="574" id="600" />
+<P2  x="126" y="610" id="602" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1208" >
+<CONNECTOR type="115" id="1169" >
 <cdparam x="414" y="207" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from choice to select" value="null" />
-<P1  x="414" y="207" id="600" />
-<P2  x="464" y="257" id="676" />
+<P1  x="414" y="207" id="561" />
+<P2  x="464" y="257" id="637" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1209" >
+<CONNECTOR type="115" id="1170" >
 <cdparam x="230" y="833" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from read channel to execI" value="null" />
-<P1  x="230" y="833" id="714" />
-<P2  x="230" y="858" id="580" />
+<P1  x="230" y="833" id="675" />
+<P2  x="230" y="858" id="541" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1210" >
+<CONNECTOR type="115" id="1171" >
 <cdparam x="716" y="749" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from choice to choice" value="null" />
-<P1  x="968" y="795" id="567" />
-<P2  x="843" y="859" id="550" />
+<P1  x="968" y="795" id="528" />
+<P2  x="843" y="859" id="511" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1211" >
+<CONNECTOR type="115" id="1172" >
 <cdparam x="720" y="1074" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from action state to stop state" value="null" />
-<P1  x="728" y="990" id="763" />
-<P2  x="728" y="1027" id="765" />
+<P1  x="728" y="990" id="724" />
+<P2  x="728" y="1027" id="726" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1212" >
+<CONNECTOR type="115" id="1173" >
 <cdparam x="733" y="899" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from choice to action state" value="null" />
-<P1  x="803" y="884" id="551" />
-<P2  x="728" y="960" id="762" />
+<P1  x="803" y="884" id="512" />
+<P2  x="728" y="960" id="723" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1213" >
+<CONNECTOR type="115" id="1174" >
 <cdparam x="800" y="938" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from choice to execI" value="null" />
-<P1  x="843" y="924" id="553" />
-<P2  x="800" y="1004" id="544" />
+<P1  x="843" y="924" id="514" />
+<P2  x="800" y="1004" id="505" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1214" >
+<CONNECTOR type="115" id="1175" >
 <cdparam x="800" y="1057" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from execI to write channel" value="null" />
-<P1  x="800" y="1044" id="545" />
-<P2  x="800" y="1081" id="767" />
+<P1  x="800" y="1044" id="506" />
+<P2  x="800" y="1081" id="728" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1215" >
+<CONNECTOR type="115" id="1176" >
 <cdparam x="132" y="886" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from action state to write channel" value="null" />
-<P1  x="132" y="886" id="894" />
-<P2  x="132" y="933" id="729" />
+<P1  x="132" y="886" id="855" />
+<P2  x="132" y="933" id="690" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1216" >
+<CONNECTOR type="115" id="1177" >
 <cdparam x="943" y="1061" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from execI to write channel" value="null" />
-<P1  x="943" y="1060" id="533" />
-<P2  x="943" y="1118" id="812" />
+<P1  x="943" y="1060" id="494" />
+<P2  x="943" y="1118" id="773" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1217" >
+<CONNECTOR type="115" id="1178" >
 <cdparam x="1049" y="1093" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from execI to write channel" value="null" />
-<P1  x="1049" y="1092" id="585" />
-<P2  x="1049" y="1150" id="837" />
+<P1  x="1049" y="1092" id="546" />
+<P2  x="1049" y="1150" id="798" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1218" >
+<CONNECTOR type="115" id="1179" >
 <cdparam x="1049" y="994" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from choice to execI" value="null" />
-<P1  x="1049" y="994" id="541" />
-<P2  x="1049" y="1052" id="584" />
+<P1  x="1049" y="994" id="502" />
+<P2  x="1049" y="1052" id="545" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1219" >
+<CONNECTOR type="115" id="1180" >
 <cdparam x="696" y="742" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from execI to write channel" value="null" />
-<P1  x="722" y="729" id="529" />
-<P2  x="722" y="753" id="862" />
+<P1  x="722" y="729" id="490" />
+<P2  x="722" y="753" id="823" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1220" >
+<CONNECTOR type="115" id="1181" >
 <cdparam x="132" y="1125" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from send request to write channel" value="null" />
-<P1  x="132" y="1125" id="868" />
-<P2  x="132" y="1162" id="870" />
+<P1  x="132" y="1125" id="829" />
+<P2  x="132" y="1162" id="831" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1221" >
+<CONNECTOR type="115" id="1182" >
 <cdparam x="132" y="1192" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from write channel to stop state" value="null" />
-<P1  x="132" y="1192" id="871" />
-<P2  x="132" y="1231" id="873" />
+<P1  x="132" y="1192" id="832" />
+<P2  x="132" y="1231" id="834" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1222" >
+<CONNECTOR type="115" id="1183" >
 <cdparam x="132" y="1066" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from action state to send request" value="null" />
-<P1  x="132" y="1066" id="727" />
-<P2  x="132" y="1095" id="867" />
+<P1  x="132" y="1066" id="688" />
+<P2  x="132" y="1095" id="828" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1223" >
+<CONNECTOR type="115" id="1184" >
 <cdparam x="229" y="1127" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from send request to write channel" value="null" />
-<P1  x="229" y="1127" id="876" />
-<P2  x="229" y="1164" id="878" />
+<P1  x="229" y="1127" id="837" />
+<P2  x="229" y="1164" id="839" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1224" >
+<CONNECTOR type="115" id="1185" >
 <cdparam x="346" y="1131" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from send request to write channel" value="null" />
-<P1  x="346" y="1131" id="882" />
-<P2  x="346" y="1168" id="884" />
+<P1  x="346" y="1131" id="843" />
+<P2  x="346" y="1168" id="845" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1225" >
+<CONNECTOR type="115" id="1186" >
 <cdparam x="346" y="1051" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from action state to send request" value="null" />
-<P1  x="346" y="1051" id="733" />
-<P2  x="346" y="1101" id="881" />
+<P1  x="346" y="1051" id="694" />
+<P2  x="346" y="1101" id="842" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1226" >
+<CONNECTOR type="115" id="1187" >
 <cdparam x="437" y="1118" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from send request to write channel" value="null" />
-<P1  x="438" y="1115" id="888" />
-<P2  x="438" y="1154" id="890" />
+<P1  x="438" y="1115" id="849" />
+<P2  x="438" y="1154" id="851" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1227" >
+<CONNECTOR type="115" id="1188" >
 <cdparam x="438" y="1057" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from action state to send request" value="null" />
-<P1  x="438" y="1057" id="722" />
-<P2  x="438" y="1085" id="887" />
+<P1  x="438" y="1057" id="683" />
+<P2  x="438" y="1085" id="848" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1228" >
+<CONNECTOR type="115" id="1189" >
 <cdparam x="132" y="808" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from execI to action state" value="null" />
-<P1  x="132" y="829" id="561" />
-<P2  x="132" y="856" id="893" />
+<P1  x="132" y="829" id="522" />
+<P2  x="132" y="856" id="854" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1229" >
+<CONNECTOR type="115" id="1190" >
 <cdparam x="230" y="898" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from execI to action state" value="null" />
-<P1  x="230" y="898" id="581" />
-<P2  x="230" y="935" id="896" />
+<P1  x="230" y="898" id="542" />
+<P2  x="230" y="935" id="857" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1230" >
+<CONNECTOR type="115" id="1191" >
 <cdparam x="230" y="965" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from action state to write channel" value="null" />
-<P1  x="230" y="965" id="897" />
-<P2  x="230" y="997" id="716" />
+<P1  x="230" y="965" id="858" />
+<P2  x="230" y="997" id="677" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1231" >
+<CONNECTOR type="115" id="1192" >
 <cdparam x="346" y="799" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from execI to action state" value="null" />
-<P1  x="346" y="799" id="557" />
-<P2  x="346" y="826" id="902" />
+<P1  x="346" y="799" id="518" />
+<P2  x="346" y="826" id="863" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1232" >
+<CONNECTOR type="115" id="1193" >
 <cdparam x="346" y="856" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from action state to write channel" value="null" />
-<P1  x="346" y="856" id="903" />
-<P2  x="346" y="895" id="740" />
+<P1  x="346" y="856" id="864" />
+<P2  x="346" y="895" id="701" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1233" >
+<CONNECTOR type="115" id="1194" >
 <cdparam x="439" y="818" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from execI to action state" value="null" />
-<P1  x="439" y="818" id="577" />
-<P2  x="439" y="860" id="899" />
+<P1  x="439" y="818" id="538" />
+<P2  x="439" y="860" id="860" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1234" >
+<CONNECTOR type="115" id="1195" >
 <cdparam x="439" y="890" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from action state to write channel" value="null" />
-<P1  x="439" y="890" id="900" />
-<P2  x="439" y="936" id="737" />
+<P1  x="439" y="890" id="861" />
+<P2  x="439" y="936" id="698" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1235" >
+<CONNECTOR type="115" id="1196" >
 <cdparam x="132" y="963" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from write channel to send event" value="null" />
-<P1  x="132" y="963" id="730" />
-<P2  x="132" y="981" id="914" />
+<P1  x="132" y="963" id="691" />
+<P2  x="132" y="981" id="875" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1236" >
+<CONNECTOR type="115" id="1197" >
 <cdparam x="132" y="1011" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from send event to action state" value="null" />
-<P1  x="132" y="1011" id="915" />
-<P2  x="132" y="1036" id="726" />
+<P1  x="132" y="1011" id="876" />
+<P2  x="132" y="1036" id="687" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1237" >
+<CONNECTOR type="115" id="1198" >
 <cdparam x="230" y="1027" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from write channel to send event" value="null" />
-<P1  x="230" y="1027" id="717" />
-<P2  x="229" y="1047" id="905" />
+<P1  x="230" y="1027" id="678" />
+<P2  x="229" y="1047" id="866" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1238" >
+<CONNECTOR type="115" id="1199" >
 <cdparam x="228" y="1088" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from send event to send request" value="null" />
-<P1  x="229" y="1077" id="906" />
-<P2  x="229" y="1097" id="875" />
+<P1  x="229" y="1077" id="867" />
+<P2  x="229" y="1097" id="836" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1239" >
+<CONNECTOR type="115" id="1200" >
 <cdparam x="346" y="925" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from write channel to send event" value="null" />
-<P1  x="346" y="925" id="741" />
-<P2  x="346" y="957" id="908" />
+<P1  x="346" y="925" id="702" />
+<P2  x="346" y="957" id="869" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1240" >
+<CONNECTOR type="115" id="1201" >
 <cdparam x="348" y="987" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from send event to action state" value="null" />
-<P1  x="346" y="987" id="909" />
-<P2  x="346" y="1021" id="732" />
+<P1  x="346" y="987" id="870" />
+<P2  x="346" y="1021" id="693" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1241" >
+<CONNECTOR type="115" id="1202" >
 <cdparam x="439" y="966" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from write channel to send event" value="null" />
-<P1  x="439" y="966" id="738" />
-<P2  x="438" y="978" id="911" />
+<P1  x="439" y="966" id="699" />
+<P2  x="438" y="978" id="872" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1242" >
+<CONNECTOR type="115" id="1203" >
 <cdparam x="438" y="1008" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from send event to action state" value="null" />
-<P1  x="438" y="1008" id="912" />
-<P2  x="438" y="1027" id="721" />
+<P1  x="438" y="1008" id="873" />
+<P2  x="438" y="1027" id="682" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1243" >
+<CONNECTOR type="115" id="1204" >
 <cdparam x="722" y="783" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from write channel to send event" value="null" />
-<P1  x="722" y="783" id="863" />
-<P2  x="722" y="808" id="917" />
+<P1  x="722" y="783" id="824" />
+<P2  x="722" y="808" id="878" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1244" >
+<CONNECTOR type="115" id="1205" >
 <cdparam x="722" y="838" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from send event to stop state" value="null" />
-<P1  x="722" y="838" id="918" />
-<P2  x="722" y="860" id="865" />
+<P1  x="722" y="838" id="879" />
+<P2  x="722" y="860" id="826" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1245" >
+<CONNECTOR type="115" id="1206" >
 <cdparam x="800" y="1111" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from write channel to send event" value="null" />
-<P1  x="800" y="1111" id="768" />
-<P2  x="798" y="1136" id="920" />
+<P1  x="800" y="1111" id="729" />
+<P2  x="798" y="1136" id="881" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1246" >
+<CONNECTOR type="115" id="1207" >
 <cdparam x="798" y="1166" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from send event to action state" value="null" />
-<P1  x="798" y="1166" id="921" />
-<P2  x="799" y="1188" id="804" />
+<P1  x="798" y="1166" id="882" />
+<P2  x="799" y="1188" id="765" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1247" >
+<CONNECTOR type="115" id="1208" >
 <cdparam x="943" y="1148" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from write channel to send event" value="null" />
-<P1  x="943" y="1148" id="813" />
-<P2  x="943" y="1173" id="923" />
+<P1  x="943" y="1148" id="774" />
+<P2  x="943" y="1173" id="884" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1248" >
+<CONNECTOR type="115" id="1209" >
 <cdparam x="950" y="1201" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from send event to action state" value="null" />
-<P1  x="943" y="1203" id="924" />
-<P2  x="943" y="1229" id="832" />
+<P1  x="943" y="1203" id="885" />
+<P2  x="943" y="1229" id="793" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1249" >
+<CONNECTOR type="115" id="1210" >
 <cdparam x="1049" y="1180" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from write channel to send event" value="null" />
-<P1  x="1049" y="1180" id="838" />
-<P2  x="1049" y="1206" id="926" />
+<P1  x="1049" y="1180" id="799" />
+<P2  x="1049" y="1206" id="887" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1250" >
+<CONNECTOR type="115" id="1211" >
 <cdparam x="1049" y="1223" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from send event to action state" value="null" />
-<P1  x="1049" y="1236" id="927" />
-<P2  x="1049" y="1261" id="857" />
+<P1  x="1049" y="1236" id="888" />
+<P2  x="1049" y="1261" id="818" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1251" >
+<CONNECTOR type="115" id="1212" >
 <cdparam x="883" y="884" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from choice to stop state" value="null" />
-<P1  x="883" y="884" id="552" />
-<P2  x="909" y="917" id="931" />
+<P1  x="883" y="884" id="513" />
+<P2  x="909" y="917" id="892" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1252" >
+<CONNECTOR type="115" id="1213" >
 <cdparam x="612" y="727" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from choice to stop state" value="null" />
-<P1  x="612" y="727" id="524" />
-<P2  x="622" y="757" id="929" />
+<P1  x="612" y="727" id="485" />
+<P2  x="622" y="757" id="890" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1253" >
+<CONNECTOR type="115" id="1214" >
 <cdparam x="532" y="727" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from choice to action state" value="null" />
-<P1  x="532" y="727" id="523" />
-<P2  x="496" y="763" id="807" />
+<P1  x="532" y="727" id="484" />
+<P2  x="496" y="763" id="768" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1254" >
+<CONNECTOR type="115" id="1215" >
 <cdparam x="799" y="1218" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from action state to stop state" value="null" />
-<P1  x="799" y="1218" id="805" />
-<P2  x="799" y="1265" id="743" />
+<P1  x="799" y="1218" id="766" />
+<P2  x="799" y="1265" id="704" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1255" >
+<CONNECTOR type="115" id="1216" >
 <cdparam x="1009" y="954" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from choice to execI" value="null" />
-<P1  x="1009" y="954" id="539" />
-<P2  x="943" y="1020" id="532" />
+<P1  x="1009" y="954" id="500" />
+<P2  x="943" y="1020" id="493" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1256" >
+<CONNECTOR type="115" id="1217" >
 <cdparam x="229" y="1194" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from write channel to stop state" value="null" />
-<P1  x="229" y="1194" id="879" />
-<P2  x="229" y="1232" id="719" />
+<P1  x="229" y="1194" id="840" />
+<P2  x="229" y="1232" id="680" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1257" >
+<CONNECTOR type="115" id="1218" >
 <cdparam x="346" y="1198" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from write channel to stop state" value="null" />
-<P1  x="346" y="1198" id="885" />
-<P2  x="344" y="1224" id="735" />
+<P1  x="346" y="1198" id="846" />
+<P2  x="344" y="1224" id="696" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1258" >
+<CONNECTOR type="115" id="1219" >
 <cdparam x="438" y="1184" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from write channel to stop state" value="null" />
-<P1  x="438" y="1184" id="891" />
-<P2  x="438" y="1208" id="724" />
+<P1  x="438" y="1184" id="852" />
+<P2  x="438" y="1208" id="685" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1259" >
+<CONNECTOR type="115" id="1220" >
 <cdparam x="496" y="793" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from action state to stop state" value="null" />
-<P1  x="496" y="793" id="808" />
-<P2  x="496" y="825" id="810" />
+<P1  x="496" y="793" id="769" />
+<P2  x="496" y="825" id="771" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1260" >
+<CONNECTOR type="115" id="1221" >
 <cdparam x="943" y="1259" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from action state to stop state" value="null" />
-<P1  x="943" y="1259" id="833" />
-<P2  x="943" y="1306" id="835" />
+<P1  x="943" y="1259" id="794" />
+<P2  x="943" y="1306" id="796" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1261" >
+<CONNECTOR type="115" id="1222" >
 <cdparam x="1008" y="736" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from execI to choice" value="null" />
-<P1  x="1008" y="736" id="573" />
-<P2  x="1008" y="770" id="566" />
+<P1  x="1008" y="736" id="534" />
+<P2  x="1008" y="770" id="527" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1262" >
+<CONNECTOR type="115" id="1223" >
 <cdparam x="1008" y="835" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from choice to choice" value="null" />
-<P1  x="1008" y="835" id="569" />
-<P2  x="1049" y="929" id="538" />
+<P1  x="1008" y="835" id="530" />
+<P2  x="1049" y="929" id="499" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1263" >
+<CONNECTOR type="115" id="1224" >
 <cdparam x="1049" y="1291" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from action state to stop state" value="null" />
-<P1  x="1049" y="1291" id="858" />
-<P2  x="1049" y="1336" id="860" />
+<P1  x="1049" y="1291" id="819" />
+<P2  x="1049" y="1336" id="821" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1264" >
+<CONNECTOR type="115" id="1225" >
 <cdparam x="1208" y="1152" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from execI to write channel" value="null" />
-<P1  x="1208" y="1142" id="517" />
-<P2  x="1208" y="1209" id="933" />
+<P1  x="1208" y="1142" id="478" />
+<P2  x="1208" y="1209" id="894" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1265" >
+<CONNECTOR type="115" id="1226" >
 <cdparam x="1208" y="1239" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from write channel to action state" value="null" />
-<P1  x="1208" y="1239" id="934" />
-<P2  x="1208" y="1290" id="953" />
+<P1  x="1208" y="1239" id="895" />
+<P2  x="1208" y="1290" id="914" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1266" >
+<CONNECTOR type="115" id="1227" >
 <cdparam x="1208" y="1320" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from action state to send event" value="null" />
-<P1  x="1208" y="1320" id="954" />
-<P2  x="1208" y="1346" id="961" />
+<P1  x="1208" y="1320" id="915" />
+<P2  x="1208" y="1346" id="922" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1267" >
+<CONNECTOR type="115" id="1228" >
 <cdparam x="1206" y="1385" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from send event to action state" value="null" />
-<P1  x="1208" y="1376" id="962" />
-<P2  x="1207" y="1397" id="958" />
+<P1  x="1208" y="1376" id="923" />
+<P2  x="1207" y="1397" id="919" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1268" >
+<CONNECTOR type="115" id="1229" >
 <cdparam x="1206" y="1088" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from choice to execI" value="null" />
-<P1  x="1208" y="1075" id="513" />
-<P2  x="1208" y="1102" id="516" />
+<P1  x="1208" y="1075" id="474" />
+<P2  x="1208" y="1102" id="477" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1269" >
+<CONNECTOR type="115" id="1230" >
 <cdparam x="1248" y="1035" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from choice to stop state" value="null" />
-<P1  x="1248" y="1035" id="512" />
-<P2  x="1287" y="1065" id="964" />
+<P1  x="1248" y="1035" id="473" />
+<P2  x="1287" y="1065" id="925" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1270" >
+<CONNECTOR type="115" id="1231" >
 <cdparam x="1207" y="1427" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from action state to stop state" value="null" />
-<P1  x="1207" y="1427" id="959" />
-<P2  x="1207" y="1466" id="956" />
+<P1  x="1207" y="1427" id="920" />
+<P2  x="1207" y="1466" id="917" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1271" >
+<CONNECTOR type="115" id="1232" >
 <cdparam x="1553" y="1019" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from choice to execI" value="null" />
-<P1  x="1567" y="1021" id="483" />
-<P2  x="1529" y="1059" id="476" />
+<P1  x="1567" y="1021" id="444" />
+<P2  x="1529" y="1059" id="437" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1272" >
+<CONNECTOR type="115" id="1233" >
 <cdparam x="1529" y="1324" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from execI to write channel" value="null" />
-<P1  x="1529" y="1289" id="473" />
-<P2  x="1529" y="1343" id="971" />
+<P1  x="1529" y="1289" id="434" />
+<P2  x="1529" y="1343" id="932" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1273" >
+<CONNECTOR type="115" id="1234" >
 <cdparam x="1684" y="929" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from choice to send event" value="null" />
-<P1  x="1728" y="930" id="493" />
-<P2  x="1731" y="1021" id="974" />
+<P1  x="1728" y="930" id="454" />
+<P2  x="1731" y="1021" id="935" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1274" >
+<CONNECTOR type="115" id="1235" >
 <cdparam x="1615" y="1283" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from execI to write channel" value="null" />
-<P1  x="1641" y="1270" id="497" />
-<P2  x="1641" y="1294" id="1011" />
+<P1  x="1641" y="1270" id="458" />
+<P2  x="1641" y="1294" id="972" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1275" >
+<CONNECTOR type="115" id="1236" >
 <cdparam x="1641" y="1324" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from write channel to send event" value="null" />
-<P1  x="1641" y="1324" id="1012" />
-<P2  x="1642" y="1343" id="1053" />
+<P1  x="1641" y="1324" id="973" />
+<P2  x="1642" y="1343" id="1014" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1276" >
+<CONNECTOR type="115" id="1237" >
 <cdparam x="1529" y="1373" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from write channel to send event" value="null" />
-<P1  x="1529" y="1373" id="972" />
-<P2  x="1529" y="1400" id="1050" />
+<P1  x="1529" y="1373" id="933" />
+<P2  x="1529" y="1400" id="1011" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1277" >
+<CONNECTOR type="115" id="1238" >
 <cdparam x="1529" y="1422" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from send event to stop state" value="null" />
-<P1  x="1529" y="1430" id="1051" />
-<P2  x="1529" y="1452" id="966" />
+<P1  x="1529" y="1430" id="1012" />
+<P2  x="1529" y="1452" id="927" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1278" >
+<CONNECTOR type="115" id="1239" >
 <cdparam x="1642" y="1373" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from send event to write channel" value="null" />
-<P1  x="1642" y="1373" id="1054" />
-<P2  x="1642" y="1399" id="1056" />
+<P1  x="1642" y="1373" id="1015" />
+<P2  x="1642" y="1399" id="1017" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1279" >
+<CONNECTOR type="115" id="1240" >
 <cdparam x="1956" y="1361" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from choice to action state" value="null" />
-<P1  x="1956" y="1361" id="451" />
-<P2  x="1920" y="1406" id="1066" />
+<P1  x="1956" y="1361" id="412" />
+<P2  x="1920" y="1406" id="1027" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1280" >
+<CONNECTOR type="115" id="1241" >
 <cdparam x="2100" y="1490" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from action state to stop state" value="null" />
-<P1  x="2101" y="1491" id="1074" />
-<P2  x="2101" y="1532" id="1076" />
+<P1  x="2101" y="1491" id="1035" />
+<P2  x="2101" y="1532" id="1037" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1281" >
+<CONNECTOR type="115" id="1242" >
 <cdparam x="1996" y="1401" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from choice to action state" value="null" />
-<P1  x="1996" y="1401" id="453" />
-<P2  x="1996" y="1429" id="1081" />
+<P1  x="1996" y="1401" id="414" />
+<P2  x="1996" y="1429" id="1042" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1282" >
+<CONNECTOR type="115" id="1243" >
 <cdparam x="1996" y="1459" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from action state to action state" value="null" />
-<P1  x="1996" y="1459" id="1082" />
-<P2  x="1996" y="1488" id="1078" />
+<P1  x="1996" y="1459" id="1043" />
+<P2  x="1996" y="1488" id="1039" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1283" >
+<CONNECTOR type="115" id="1244" >
 <cdparam x="2021" y="1038" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from choice to execI" value="null" />
-<P1  x="2237" y="966" id="443" />
-<P2  x="2218" y="1054" id="500" />
+<P1  x="2237" y="966" id="404" />
+<P2  x="2218" y="1054" id="461" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1284" >
+<CONNECTOR type="115" id="1245" >
 <cdparam x="2217" y="1323" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from send request to write channel" value="null" />
-<P1  x="2217" y="1323" id="1124" />
-<P2  x="2217" y="1360" id="1126" />
+<P1  x="2217" y="1323" id="1085" />
+<P2  x="2217" y="1360" id="1087" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1285" >
+<CONNECTOR type="115" id="1246" >
 <cdparam x="2218" y="1094" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from execI to action state" value="null" />
-<P1  x="2218" y="1094" id="501" />
-<P2  x="2218" y="1131" id="1129" />
+<P1  x="2218" y="1094" id="462" />
+<P2  x="2218" y="1131" id="1090" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1286" >
+<CONNECTOR type="115" id="1247" >
 <cdparam x="2218" y="1161" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from action state to write channel" value="null" />
-<P1  x="2218" y="1161" id="1130" />
-<P2  x="2218" y="1193" id="1118" />
+<P1  x="2218" y="1161" id="1091" />
+<P2  x="2218" y="1193" id="1079" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1287" >
+<CONNECTOR type="115" id="1248" >
 <cdparam x="2218" y="1223" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from write channel to send event" value="null" />
-<P1  x="2218" y="1223" id="1119" />
-<P2  x="2217" y="1243" id="1132" />
+<P1  x="2218" y="1223" id="1080" />
+<P2  x="2217" y="1243" id="1093" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1288" >
+<CONNECTOR type="115" id="1249" >
 <cdparam x="2216" y="1284" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from send event to send request" value="null" />
-<P1  x="2217" y="1273" id="1133" />
-<P2  x="2217" y="1293" id="1123" />
+<P1  x="2217" y="1273" id="1094" />
+<P2  x="2217" y="1293" id="1084" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1289" >
+<CONNECTOR type="115" id="1250" >
 <cdparam x="2217" y="1390" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from write channel to action state" value="null" />
-<P1  x="2217" y="1390" id="1127" />
-<P2  x="2217" y="1419" id="1135" />
+<P1  x="2217" y="1390" id="1088" />
+<P2  x="2217" y="1419" id="1096" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1290" >
+<CONNECTOR type="115" id="1251" >
 <cdparam x="2341" y="1060" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from execI to write channel" value="null" />
-<P1  x="2341" y="1059" id="505" />
-<P2  x="2341" y="1117" id="1138" />
+<P1  x="2341" y="1059" id="466" />
+<P2  x="2341" y="1117" id="1099" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1291" >
+<CONNECTOR type="115" id="1252" >
 <cdparam x="1529" y="1099" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from execI to write channel" value="null" />
-<P1  x="1529" y="1099" id="477" />
-<P2  x="1529" y="1127" id="968" />
+<P1  x="1529" y="1099" id="438" />
+<P2  x="1529" y="1127" id="929" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1292" >
+<CONNECTOR type="115" id="1253" >
 <cdparam x="2101" y="1433" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from choice to action state" value="null" />
-<P1  x="2101" y="1433" id="437" />
-<P2  x="2101" y="1461" id="1073" />
+<P1  x="2101" y="1433" id="398" />
+<P2  x="2101" y="1461" id="1034" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1293" >
+<CONNECTOR type="115" id="1254" >
 <cdparam x="2158" y="1460" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from choice to stop state" value="null" />
-<P1  x="2141" y="1393" id="436" />
-<P2  x="2178" y="1416" id="1168" />
+<P1  x="2141" y="1393" id="397" />
+<P2  x="2178" y="1416" id="1129" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1294" >
+<CONNECTOR type="115" id="1255" >
 <cdparam x="1688" y="890" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from choice to choice" value="null" />
-<P1  x="1688" y="890" id="491" />
-<P2  x="1607" y="996" id="482" />
+<P1  x="1688" y="890" id="452" />
+<P2  x="1607" y="996" id="443" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1295" >
+<CONNECTOR type="115" id="1256" >
 <cdparam x="1768" y="890" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from choice to choice" value="null" />
-<P1  x="1768" y="890" id="492" />
-<P2  x="2277" y="941" id="442" />
+<P1  x="1768" y="890" id="453" />
+<P2  x="2277" y="941" id="403" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1296" >
+<CONNECTOR type="115" id="1257" >
 <cdparam x="2317" y="966" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from choice to execI" value="null" />
-<P1  x="2317" y="966" id="444" />
-<P2  x="2341" y="1019" id="504" />
+<P1  x="2317" y="966" id="405" />
+<P2  x="2341" y="1019" id="465" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1297" >
+<CONNECTOR type="115" id="1258" >
 <cdparam x="2341" y="1147" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from write channel to send event" value="null" />
-<P1  x="2341" y="1147" id="1139" />
-<P2  x="2341" y="1194" id="1163" />
+<P1  x="2341" y="1147" id="1100" />
+<P2  x="2341" y="1194" id="1124" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1298" >
+<CONNECTOR type="115" id="1259" >
 <cdparam x="2341" y="1224" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from send event to send event" value="null" />
-<P1  x="2341" y="1224" id="1164" />
-<P2  x="2341" y="1262" id="1158" />
+<P1  x="2341" y="1224" id="1125" />
+<P2  x="2341" y="1262" id="1119" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1299" >
+<CONNECTOR type="115" id="1260" >
 <cdparam x="1731" y="1051" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from send event to choice" value="null" />
-<P1  x="1731" y="1051" id="975" />
-<P2  x="1731" y="1081" id="1175" />
+<P1  x="1731" y="1051" id="936" />
+<P2  x="1731" y="1081" id="1136" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1300" >
+<CONNECTOR type="115" id="1261" >
 <cdparam x="1647" y="1021" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from choice to stop state" value="null" />
-<P1  x="1647" y="1021" id="484" />
-<P2  x="1659" y="1052" id="1166" />
+<P1  x="1647" y="1021" id="445" />
+<P2  x="1659" y="1052" id="1127" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1301" >
+<CONNECTOR type="115" id="1262" >
 <cdparam x="1826" y="1324" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from choice to action state" value="null" />
-<P1  x="1826" y="1324" id="461" />
-<P2  x="1826" y="1344" id="1061" />
+<P1  x="1826" y="1324" id="422" />
+<P2  x="1826" y="1344" id="1022" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1302" >
+<CONNECTOR type="115" id="1263" >
 <cdparam x="1826" y="1374" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from action state to stop state" value="null" />
-<P1  x="1826" y="1374" id="1062" />
-<P2  x="1828" y="1452" id="1064" />
+<P1  x="1826" y="1374" id="1023" />
+<P2  x="1828" y="1452" id="1025" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1303" >
+<CONNECTOR type="115" id="1264" >
 <cdparam x="1786" y="1284" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from choice to stop state" value="null" />
-<P1  x="1786" y="1284" id="459" />
-<P2  x="1740" y="1330" id="1059" />
+<P1  x="1786" y="1284" id="420" />
+<P2  x="1740" y="1330" id="1020" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1304" >
+<CONNECTOR type="115" id="1265" >
 <cdparam x="1920" y="1436" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from action state to stop state" value="null" />
-<P1  x="1920" y="1436" id="1067" />
-<P2  x="1920" y="1476" id="1069" />
+<P1  x="1920" y="1436" id="1028" />
+<P2  x="1920" y="1476" id="1030" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1305" >
+<CONNECTOR type="115" id="1266" >
 <cdparam x="1996" y="1518" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from action state to stop state" value="null" />
-<P1  x="1996" y="1518" id="1079" />
-<P2  x="1996" y="1538" id="1071" />
+<P1  x="1996" y="1518" id="1040" />
+<P2  x="1996" y="1538" id="1032" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1306" >
+<CONNECTOR type="115" id="1267" >
 <cdparam x="2036" y="1361" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from choice to choice" value="null" />
-<P1  x="2036" y="1361" id="452" />
-<P2  x="2101" y="1368" id="434" />
+<P1  x="2036" y="1361" id="413" />
+<P2  x="2101" y="1368" id="395" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1307" >
+<CONNECTOR type="115" id="1268" >
 <cdparam x="1866" y="1284" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from choice to choice" value="null" />
-<P1  x="1866" y="1284" id="460" />
-<P2  x="1996" y="1336" id="450" />
+<P1  x="1866" y="1284" id="421" />
+<P2  x="1996" y="1336" id="411" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1308" >
+<CONNECTOR type="115" id="1269" >
 <cdparam x="2341" y="1292" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from action state to stop state" value="null" />
-<P1  x="2341" y="1292" id="1159" />
-<P2  x="2340" y="1319" id="1161" />
+<P1  x="2341" y="1292" id="1120" />
+<P2  x="2340" y="1319" id="1122" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1309" >
+<CONNECTOR type="115" id="1270" >
 <cdparam x="2217" y="1449" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from action state to stop state" value="null" />
-<P1  x="2217" y="1449" id="1136" />
-<P2  x="2217" y="1478" id="1121" />
+<P1  x="2217" y="1449" id="1097" />
+<P2  x="2217" y="1478" id="1082" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1310" >
+<CONNECTOR type="115" id="1271" >
 <cdparam x="2277" y="1006" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from choice to stop state" value="null" />
-<P1  x="2277" y="1006" id="445" />
-<P2  x="2278" y="1034" id="1170" />
+<P1  x="2277" y="1006" id="406" />
+<P2  x="2278" y="1034" id="1131" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1311" >
+<CONNECTOR type="115" id="1272" >
 <cdparam x="1642" y="1429" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from write channel to stop state" value="null" />
-<P1  x="1642" y="1429" id="1057" />
-<P2  x="1642" y="1463" id="1014" />
+<P1  x="1642" y="1429" id="1018" />
+<P2  x="1642" y="1463" id="975" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1312" >
+<CONNECTOR type="115" id="1273" >
 <cdparam x="1529" y="1157" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from write channel to send event" value="null" />
-<P1  x="1529" y="1157" id="969" />
-<P2  x="1529" y="1187" id="1172" />
+<P1  x="1529" y="1157" id="930" />
+<P2  x="1529" y="1187" id="1133" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1313" >
+<CONNECTOR type="115" id="1274" >
 <cdparam x="1529" y="1217" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from send event to execI" value="null" />
-<P1  x="1529" y="1217" id="1173" />
-<P2  x="1529" y="1249" id="472" />
+<P1  x="1529" y="1217" id="1134" />
+<P2  x="1529" y="1249" id="433" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1314" >
+<CONNECTOR type="115" id="1275" >
 <cdparam x="1691" y="1156" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from choice to execI" value="null" />
-<P1  x="1691" y="1156" id="467" />
-<P2  x="1641" y="1230" id="496" />
+<P1  x="1691" y="1156" id="428" />
+<P2  x="1641" y="1230" id="457" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1315" >
+<CONNECTOR type="115" id="1276" >
 <cdparam x="1771" y="1156" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from choice to choice" value="null" />
-<P1  x="1771" y="1156" id="468" />
-<P2  x="1826" y="1259" id="458" />
+<P1  x="1771" y="1156" id="429" />
+<P2  x="1826" y="1259" id="419" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1316" >
+<CONNECTOR type="115" id="1277" >
 <cdparam x="1731" y="1111" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from read channel to choice" value="null" />
-<P1  x="1731" y="1111" id="1176" />
-<P2  x="1731" y="1131" id="466" />
+<P1  x="1731" y="1111" id="1137" />
+<P2  x="1731" y="1131" id="427" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 
 </TMLActivityDiagramPanel>
 
-<TMLActivityDiagramPanel name="Timer" minX="10" maxX="1400" minY="10" maxY="900" >
-<COMPONENT type="1012" id="1324" >
-<cdparam x="509" y="222" />
-<sizeparam width="30" height="30" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<TMLActivityDiagramPanel name="SmartCard" minX="10" maxX="1400" minY="10" maxY="900" >
+<COMPONENT type="1000" id="1279" >
+<cdparam x="159" y="66" />
+<sizeparam width="15" height="15" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
-<infoparam name="choice" value="null" />
-<TGConnectingPoint num="0" id="1320" />
-<TGConnectingPoint num="1" id="1321" />
-<TGConnectingPoint num="2" id="1322" />
-<TGConnectingPoint num="3" id="1323" />
+<infoparam name="start state" value="null" />
+<TGConnectingPoint num="0" id="1278" />
 </COMPONENT>
-<SUBCOMPONENT type="-1" id="1317" >
-<father id="1324" num="0" />
-<cdparam x="464" y="232" />
-<sizeparam width="52" height="15" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+
+<COMPONENT type="1010" id="1282" >
+<cdparam x="141" y="129" />
+<sizeparam width="51" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-75" maxX="-20" minY="10" maxY="35" />
-<infoparam name="guard 1" value="[ x==0 ]" />
-</SUBCOMPONENT>
-<SUBCOMPONENT type="-1" id="1318" >
-<father id="1324" num="1" />
-<cdparam x="544" y="234" />
-<sizeparam width="42" height="15" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
+<infoparam name="wait event" value="reset() " />
+<TGConnectingPoint num="0" id="1280" />
+<TGConnectingPoint num="1" id="1281" />
+<extraparam>
+<Data eventName="reset" nbOfParams="5" />
+</extraparam>
+</COMPONENT>
+
+<COMPONENT type="1008" id="1285" >
+<cdparam x="113" y="182" />
+<sizeparam width="106" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="35" maxX="55" minY="10" maxY="35" />
-<infoparam name="guard 2" value="[ x&gt;0 ]" />
-</SUBCOMPONENT>
-<SUBCOMPONENT type="-1" id="1319" >
-<father id="1324" num="2" />
-<cdparam x="529" y="267" />
-<sizeparam width="14" height="15" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
+<infoparam name="send event" value="answerToReset()" />
+<TGConnectingPoint num="0" id="1283" />
+<TGConnectingPoint num="1" id="1284" />
+<extraparam>
+<Data eventName="answerToReset" nbOfParams="5" />
+</extraparam>
+</COMPONENT>
+
+<COMPONENT type="1010" id="1288" >
+<cdparam x="144" y="237" />
+<sizeparam width="44" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="20" maxX="40" minY="45" maxY="70" />
-<infoparam name="guard 3" value="[ ]" />
-</SUBCOMPONENT>
+<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
+<infoparam name="wait event" value="pTS() " />
+<TGConnectingPoint num="0" id="1286" />
+<TGConnectingPoint num="1" id="1287" />
+<extraparam>
+<Data eventName="pTS" nbOfParams="5" />
+</extraparam>
+</COMPONENT>
 
-<COMPONENT type="1000" id="1326" >
-<cdparam x="517" y="87" />
-<sizeparam width="15" height="15" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<COMPONENT type="1008" id="1291" >
+<cdparam x="124" y="308" />
+<sizeparam width="85" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
-<infoparam name="start state" value="null" />
-<TGConnectingPoint num="0" id="1325" />
+<infoparam name="send event" value="pTSConfirm()" />
+<TGConnectingPoint num="0" id="1289" />
+<TGConnectingPoint num="1" id="1290" />
+<extraparam>
+<Data eventName="pTSConfirm" nbOfParams="5" />
+</extraparam>
 </COMPONENT>
 
-<COMPONENT type="1001" id="1328" >
-<cdparam x="417" y="367" />
-<sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<COMPONENT type="301" id="1308" >
+<cdparam x="376" y="98" />
+<sizeparam width="233" height="39" minWidth="50" minHeight="20" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
-<infoparam name="stop state" value="null" />
-<TGConnectingPoint num="0" id="1327" />
+<infoparam name="UML Note" value="The first two layers of the OSI model 
+are used to communicate between 
+the smart card and the terminal
+" />
+<TGConnectingPoint num="0" id="1292" />
+<TGConnectingPoint num="1" id="1293" />
+<TGConnectingPoint num="2" id="1294" />
+<TGConnectingPoint num="3" id="1295" />
+<TGConnectingPoint num="4" id="1296" />
+<TGConnectingPoint num="5" id="1297" />
+<TGConnectingPoint num="6" id="1298" />
+<TGConnectingPoint num="7" id="1299" />
+<TGConnectingPoint num="8" id="1300" />
+<TGConnectingPoint num="9" id="1301" />
+<TGConnectingPoint num="10" id="1302" />
+<TGConnectingPoint num="11" id="1303" />
+<TGConnectingPoint num="12" id="1304" />
+<TGConnectingPoint num="13" id="1305" />
+<TGConnectingPoint num="14" id="1306" />
+<TGConnectingPoint num="15" id="1307" />
+<extraparam>
+<Line value="The first two layers of the OSI model " />
+<Line value="are used to communicate between " />
+<Line value="the smart card and the terminal" />
+</extraparam>
 </COMPONENT>
 
-<COMPONENT type="1008" id="1331" >
-<cdparam x="393" y="299" />
-<sizeparam width="69" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<COMPONENT type="1007" id="1311" >
+<cdparam x="254" y="97" />
+<sizeparam width="89" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
-<infoparam name="send event" value="timeOut()" />
-<TGConnectingPoint num="0" id="1329" />
-<TGConnectingPoint num="1" id="1330" />
+<infoparam name="send request" value="start_TCP_IP()" />
+<TGConnectingPoint num="0" id="1309" />
+<TGConnectingPoint num="1" id="1310" />
 <extraparam>
-<Data eventName="timeOut" nbOfParams="5" />
+<Data requestName="start_TCP_IP" nbOfParams="5" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1010" id="1334" >
-<cdparam x="596" y="300" />
-<sizeparam width="52" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<COMPONENT type="1007" id="1314" >
+<cdparam x="241" y="148" />
+<sizeparam width="114" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
-<infoparam name="wait event" value="stop() " />
-<TGConnectingPoint num="0" id="1332" />
-<TGConnectingPoint num="1" id="1333" />
+<infoparam name="send request" value="start_Application()" />
+<TGConnectingPoint num="0" id="1312" />
+<TGConnectingPoint num="1" id="1313" />
 <extraparam>
-<Data eventName="stop" nbOfParams="5" />
+<Data requestName="start_Application" nbOfParams="5" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1001" id="1336" >
-<cdparam x="612" y="365" />
+<COMPONENT type="1001" id="1316" >
+<cdparam x="515" y="428" />
 <sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
 <infoparam name="stop state" value="null" />
-<TGConnectingPoint num="0" id="1335" />
+<TGConnectingPoint num="0" id="1315" />
 </COMPONENT>
 
-<COMPONENT type="1017" id="1339" >
-<cdparam x="487" y="150" />
-<sizeparam width="75" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<COMPONENT type="1008" id="1319" >
+<cdparam x="309" y="350" />
+<sizeparam width="106" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
-<infoparam name="notified event" value="x=?stop()" />
-<TGConnectingPoint num="0" id="1337" />
-<TGConnectingPoint num="1" id="1338" />
+<infoparam name="send event" value="data_Ready_SC()" />
+<TGConnectingPoint num="0" id="1317" />
+<TGConnectingPoint num="1" id="1318" />
 <extraparam>
-<Data eventName="stop" variable="x" />
+<Data eventName="data_Ready_SC" nbOfParams="5" />
 </extraparam>
 </COMPONENT>
 
-<CONNECTOR type="115" id="1340" >
-<cdparam x="427" y="324" />
-<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<infoparam name="connector from send event to stop state" value="null" />
-<P1  x="427" y="324" id="1330" />
-<P2  x="427" y="362" id="1327" />
-<AutomaticDrawing  data="true" />
-</CONNECTOR>
-<CONNECTOR type="115" id="1341" >
-<cdparam x="622" y="325" />
-<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<infoparam name="connector from wait event to stop state" value="null" />
-<P1  x="622" y="325" id="1333" />
-<P2  x="622" y="360" id="1335" />
-<AutomaticDrawing  data="true" />
-</CONNECTOR>
-<CONNECTOR type="115" id="1342" >
-<cdparam x="524" y="107" />
-<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<infoparam name="connector from start state to notified event" value="null" />
-<P1  x="524" y="107" id="1325" />
-<P2  x="524" y="145" id="1337" />
-<AutomaticDrawing  data="true" />
-</CONNECTOR>
-<CONNECTOR type="115" id="1343" >
-<cdparam x="524" y="175" />
-<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<infoparam name="connector from notified event to choice" value="null" />
-<P1  x="524" y="175" id="1338" />
-<P2  x="524" y="212" id="1320" />
-<AutomaticDrawing  data="true" />
-</CONNECTOR>
-<CONNECTOR type="115" id="1344" >
-<cdparam x="484" y="237" />
-<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<infoparam name="connector from choice to send event" value="null" />
-<P1  x="484" y="237" id="1321" />
-<P2  x="427" y="294" id="1329" />
-<AutomaticDrawing  data="true" />
-</CONNECTOR>
-<CONNECTOR type="115" id="1345" >
-<cdparam x="564" y="237" />
-<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<infoparam name="connector from choice to wait event" value="null" />
-<P1  x="564" y="237" id="1322" />
-<P2  x="622" y="295" id="1332" />
-<AutomaticDrawing  data="true" />
-</CONNECTOR>
-
-</TMLActivityDiagramPanel>
-
-<TMLActivityDiagramPanel name="Application" minX="10" maxX="1400" minY="10" maxY="900" >
-<COMPONENT type="1012" id="1353" >
-<cdparam x="491" y="277" />
-<sizeparam width="30" height="30" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<COMPONENT type="1001" id="1321" >
+<cdparam x="352" y="426" />
+<sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
-<infoparam name="choice" value="null" />
-<TGConnectingPoint num="0" id="1349" />
-<TGConnectingPoint num="1" id="1350" />
-<TGConnectingPoint num="2" id="1351" />
-<TGConnectingPoint num="3" id="1352" />
+<infoparam name="stop state" value="null" />
+<TGConnectingPoint num="0" id="1320" />
 </COMPONENT>
-<SUBCOMPONENT type="-1" id="1346" >
-<father id="1353" num="0" />
-<cdparam x="466" y="287" />
-<sizeparam width="14" height="15" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<hidden value="false" />
-<cdrectangleparam minX="-75" maxX="-20" minY="10" maxY="35" />
-<infoparam name="guard 1" value="[ ]" />
-</SUBCOMPONENT>
-<SUBCOMPONENT type="-1" id="1347" >
-<father id="1353" num="1" />
-<cdparam x="526" y="287" />
-<sizeparam width="14" height="15" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<hidden value="false" />
-<cdrectangleparam minX="35" maxX="55" minY="10" maxY="35" />
-<infoparam name="guard 2" value="[ ]" />
-</SUBCOMPONENT>
-<SUBCOMPONENT type="-1" id="1348" >
-<father id="1353" num="2" />
-<cdparam x="511" y="322" />
-<sizeparam width="14" height="15" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+
+<COMPONENT type="1009" id="1324" >
+<cdparam x="321" y="308" />
+<sizeparam width="83" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="20" maxX="40" minY="45" maxY="70" />
-<infoparam name="guard 3" value="[ ]" />
-</SUBCOMPONENT>
+<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
+<infoparam name="read channel" value="fromTtoP(1) " />
+<TGConnectingPoint num="0" id="1322" />
+<TGConnectingPoint num="1" id="1323" />
+<extraparam>
+<Data channelName="fromTtoP" nbOfSamples="1" secPattern="" isAttacker="No" />
+</extraparam>
+</COMPONENT>
 
-<COMPONENT type="1000" id="1355" >
-<cdparam x="501" y="91" />
-<sizeparam width="15" height="15" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<COMPONENT type="1010" id="1327" >
+<cdparam x="337" y="264" />
+<sizeparam width="50" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
-<infoparam name="start state" value="null" />
-<TGConnectingPoint num="0" id="1354" />
+<infoparam name="wait event" value="send() " />
+<TGConnectingPoint num="0" id="1325" />
+<TGConnectingPoint num="1" id="1326" />
+<extraparam>
+<Data eventName="send" nbOfParams="5" />
+</extraparam>
 </COMPONENT>
 
-<COMPONENT type="1008" id="1358" >
-<cdparam x="482" y="129" />
-<sizeparam width="52" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<COMPONENT type="1006" id="1330" >
+<cdparam x="319" y="392" />
+<sizeparam width="87" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
-<infoparam name="send event" value="open()" />
-<TGConnectingPoint num="0" id="1356" />
-<TGConnectingPoint num="1" id="1357" />
+<infoparam name="write channel" value="fromSCtoD(1)" />
+<TGConnectingPoint num="0" id="1328" />
+<TGConnectingPoint num="1" id="1329" />
 <extraparam>
-<Data eventName="open" nbOfParams="5" />
+<Data channelName="fromSCtoD" nbOfSamples="1" secPattern="" isAttacker="No" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1006" id="1361" >
-<cdparam x="466" y="178" />
-<sizeparam width="84" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<COMPONENT type="1008" id="1333" >
+<cdparam x="496" y="350" />
+<sizeparam width="59" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
-<infoparam name="write channel" value="fromAtoT(1)" />
-<TGConnectingPoint num="0" id="1359" />
-<TGConnectingPoint num="1" id="1360" />
+<infoparam name="send event" value="receive()" />
+<TGConnectingPoint num="0" id="1331" />
+<TGConnectingPoint num="1" id="1332" />
 <extraparam>
-<Data channelName="fromAtoT" nbOfSamples="1" secPattern="" isAttacker="No" />
+<Data eventName="receive" nbOfParams="5" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1008" id="1364" >
-<cdparam x="467" y="226" />
-<sizeparam width="80" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<COMPONENT type="1009" id="1336" >
+<cdparam x="480" y="311" />
+<sizeparam width="91" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
-<infoparam name="send event" value="send_TCP()" />
-<TGConnectingPoint num="0" id="1362" />
-<TGConnectingPoint num="1" id="1363" />
+<infoparam name="read channel" value="fromDtoSC(1) " />
+<TGConnectingPoint num="0" id="1334" />
+<TGConnectingPoint num="1" id="1335" />
 <extraparam>
-<Data eventName="send_TCP" nbOfParams="5" />
+<Data channelName="fromDtoSC" nbOfSamples="1" secPattern="" isAttacker="No" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1001" id="1366" >
-<cdparam x="576" y="388" />
-<sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<COMPONENT type="1006" id="1339" >
+<cdparam x="486" y="387" />
+<sizeparam width="79" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
-<infoparam name="stop state" value="null" />
-<TGConnectingPoint num="0" id="1365" />
+<infoparam name="write channel" value="fromPtoT(1)" />
+<TGConnectingPoint num="0" id="1337" />
+<TGConnectingPoint num="1" id="1338" />
+<extraparam>
+<Data channelName="fromPtoT" nbOfSamples="1" secPattern="" isAttacker="No" />
+</extraparam>
 </COMPONENT>
 
-<COMPONENT type="1008" id="1369" >
-<cdparam x="559" y="329" />
-<sizeparam width="54" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<COMPONENT type="1010" id="1342" >
+<cdparam x="470" y="268" />
+<sizeparam width="110" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
-<infoparam name="send event" value="abort()" />
-<TGConnectingPoint num="0" id="1367" />
-<TGConnectingPoint num="1" id="1368" />
+<infoparam name="wait event" value="data_Ready(t, b) " />
+<TGConnectingPoint num="0" id="1340" />
+<TGConnectingPoint num="1" id="1341" />
+<breakpoint />
 <extraparam>
-<Data eventName="abort" nbOfParams="5" />
+<Data eventName="data_Ready" nbOfParams="5" />
+<Param index="0" value="t" />
+<Param index="1" value="b" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1008" id="1372" >
-<cdparam x="406" y="337" />
-<sizeparam width="53" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<COMPONENT type="1014" id="1346" >
+<cdparam x="236" y="202" />
+<sizeparam width="125" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
-<infoparam name="send event" value="close()" />
-<TGConnectingPoint num="0" id="1370" />
-<TGConnectingPoint num="1" id="1371" />
+<infoparam name="for loop" value="for(j=0;x==0;j = j)" />
+<TGConnectingPoint num="0" id="1343" />
+<TGConnectingPoint num="1" id="1344" />
+<TGConnectingPoint num="2" id="1345" />
 <extraparam>
-<Data eventName="close" nbOfParams="5" />
+<Data init="j=0" condition="x==0" increment="j = j" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1001" id="1374" >
-<cdparam x="422" y="386" />
+<COMPONENT type="1001" id="1348" >
+<cdparam x="297" y="231" />
 <sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
 <infoparam name="stop state" value="null" />
-<TGConnectingPoint num="0" id="1373" />
+<TGConnectingPoint num="0" id="1347" />
+</COMPONENT>
+
+<COMPONENT type="1018" id="1359" >
+<cdparam x="424" y="226" />
+<sizeparam width="30" height="30" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
+<infoparam name="select" value="null" />
+<TGConnectingPoint num="0" id="1349" />
+<TGConnectingPoint num="1" id="1350" />
+<TGConnectingPoint num="2" id="1351" />
+<TGConnectingPoint num="3" id="1352" />
+<TGConnectingPoint num="4" id="1353" />
+<TGConnectingPoint num="5" id="1354" />
+<TGConnectingPoint num="6" id="1355" />
+<TGConnectingPoint num="7" id="1356" />
+<TGConnectingPoint num="8" id="1357" />
+<TGConnectingPoint num="9" id="1358" />
 </COMPONENT>
 
+<CONNECTOR type="115" id="1364" >
+<cdparam x="111" y="331" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector from send event to send request" value="null" />
+<P1  x="166" y="333" id="1290" />
+<P2  x="298" y="92" id="1309" />
+<Point x="166" y="351" />
+<Point x="231" y="351" />
+<Point x="231" y="72" />
+<Point x="298" y="72" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR><SUBCOMPONENT type="-1" id="1360" >
+<father id="1364" num="0" />
+<cdparam x="166" y="351" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="1400" />
+<infoparam name="point " value="null" />
+</SUBCOMPONENT>
+<SUBCOMPONENT type="-1" id="1361" >
+<father id="1364" num="1" />
+<cdparam x="231" y="351" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="1400" />
+<infoparam name="point " value="null" />
+</SUBCOMPONENT>
+<SUBCOMPONENT type="-1" id="1362" >
+<father id="1364" num="2" />
+<cdparam x="231" y="72" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="1400" />
+<infoparam name="point " value="null" />
+</SUBCOMPONENT>
+<SUBCOMPONENT type="-1" id="1363" >
+<father id="1364" num="3" />
+<cdparam x="298" y="72" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="1400" />
+<infoparam name="point " value="null" />
+</SUBCOMPONENT>
+
+<CONNECTOR type="115" id="1365" >
+<cdparam x="166" y="64" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector from start state to wait event" value="null" />
+<P1  x="166" y="86" id="1278" />
+<P2  x="166" y="124" id="1280" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<CONNECTOR type="115" id="1366" >
+<cdparam x="166" y="154" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector from wait event to send event" value="null" />
+<P1  x="166" y="154" id="1281" />
+<P2  x="166" y="177" id="1283" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<CONNECTOR type="115" id="1367" >
+<cdparam x="312" y="133" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector from send request to send request" value="null" />
+<P1  x="298" y="122" id="1310" />
+<P2  x="298" y="143" id="1312" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<CONNECTOR type="115" id="1368" >
+<cdparam x="355" y="300" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector from wait event to read channel" value="null" />
+<P1  x="362" y="289" id="1326" />
+<P2  x="362" y="303" id="1322" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<CONNECTOR type="115" id="1369" >
+<cdparam x="355" y="365" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector from read channel to send event" value="null" />
+<P1  x="362" y="333" id="1323" />
+<P2  x="362" y="345" id="1317" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<CONNECTOR type="115" id="1370" >
+<cdparam x="355" y="417" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector from send event to write channel" value="null" />
+<P1  x="362" y="375" id="1318" />
+<P2  x="362" y="387" id="1328" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<CONNECTOR type="115" id="1371" >
+<cdparam x="355" y="473" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector from write channel to stop state" value="null" />
+<P1  x="362" y="417" id="1329" />
+<P2  x="362" y="421" id="1320" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<CONNECTOR type="115" id="1372" >
+<cdparam x="541" y="358" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector from read channel to send event" value="null" />
+<P1  x="525" y="336" id="1335" />
+<P2  x="525" y="345" id="1331" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<CONNECTOR type="115" id="1373" >
+<cdparam x="540" y="402" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector from send event to write channel" value="null" />
+<P1  x="525" y="375" id="1332" />
+<P2  x="525" y="382" id="1337" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<CONNECTOR type="115" id="1374" >
+<cdparam x="543" y="305" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector from wait event to read channel" value="null" />
+<P1  x="525" y="293" id="1341" />
+<P2  x="525" y="306" id="1334" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
 <CONNECTOR type="115" id="1375" >
-<cdparam x="509" y="94" />
+<cdparam x="540" y="464" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<infoparam name="connector from start state to send event" value="null" />
-<P1  x="508" y="111" id="1354" />
-<P2  x="508" y="124" id="1356" />
+<infoparam name="connector from write channel to stop state" value="null" />
+<P1  x="525" y="412" id="1338" />
+<P2  x="525" y="423" id="1315" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="115" id="1376" >
-<cdparam x="508" y="154" />
+<cdparam x="298" y="173" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<infoparam name="connector from send event to write channel" value="null" />
-<P1  x="508" y="154" id="1357" />
-<P2  x="508" y="173" id="1359" />
+<infoparam name="connector from send request to for loop" value="null" />
+<P1  x="298" y="173" id="1313" />
+<P2  x="298" y="197" id="1343" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="115" id="1377" >
-<cdparam x="508" y="222" />
+<cdparam x="328" y="232" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<infoparam name="connector from write channel to send event" value="null" />
-<P1  x="508" y="203" id="1360" />
-<P2  x="507" y="221" id="1362" />
+<infoparam name="connector from for loop to stop state" value="null" />
+<P1  x="298" y="227" id="1345" />
+<P2  x="307" y="226" id="1347" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="115" id="1378" >
-<cdparam x="586" y="354" />
+<cdparam x="395" y="283" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<infoparam name="connector from send event to stop state" value="null" />
-<P1  x="586" y="354" id="1368" />
-<P2  x="586" y="383" id="1365" />
+<infoparam name="connector from select to wait event" value="null" />
+<P1  x="399" y="241" id="1350" />
+<P2  x="362" y="259" id="1325" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="115" id="1379" >
-<cdparam x="508" y="298" />
+<cdparam x="543" y="341" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<infoparam name="connector from send event to choice" value="null" />
-<P1  x="507" y="251" id="1363" />
-<P2  x="506" y="267" id="1349" />
+<infoparam name="connector from select to wait event" value="null" />
+<P1  x="479" y="241" id="1351" />
+<P2  x="525" y="263" id="1340" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="115" id="1380" >
-<cdparam x="470" y="348" />
+<cdparam x="391" y="282" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<infoparam name="connector from choice to send event" value="null" />
-<P1  x="466" y="292" id="1350" />
-<P2  x="432" y="332" id="1370" />
+<infoparam name="connector from for loop to select" value="null" />
+<P1  x="361" y="216" id="1344" />
+<P2  x="439" y="216" id="1349" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="115" id="1381" >
-<cdparam x="432" y="362" />
+<cdparam x="164" y="262" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<infoparam name="connector from send event to stop state" value="null" />
-<P1  x="432" y="362" id="1371" />
-<P2  x="432" y="381" id="1373" />
+<infoparam name="connector from wait event to send event" value="null" />
+<P1  x="166" y="262" id="1287" />
+<P2  x="166" y="303" id="1289" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="115" id="1382" >
-<cdparam x="550" y="348" />
+<cdparam x="166" y="207" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<infoparam name="connector from choice to send event" value="null" />
-<P1  x="546" y="292" id="1351" />
-<P2  x="586" y="324" id="1367" />
+<infoparam name="connector from send event to wait event" value="null" />
+<P1  x="166" y="207" id="1284" />
+<P2  x="166" y="232" id="1286" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 
@@ -6192,11 +6192,11 @@ On prend b=1 comme exemple
 </COMPONENT>
 <SUBCOMPONENT type="1101" id="1391" >
 <father id="1452" num="0" />
-<cdparam x="226" y="304" />
-<sizeparam width="109" height="50" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="92" y="154" />
+<sizeparam width="172" height="50" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="350" minY="0" maxY="271" />
-<infoparam name="TGComponent" value="AppC::Timer" />
+<cdrectangleparam minX="0" maxX="287" minY="0" maxY="271" />
+<infoparam name="TGComponent" value="AppC::InterfaceDevice" />
 <TGConnectingPoint num="0" id="1383" />
 <TGConnectingPoint num="1" id="1384" />
 <TGConnectingPoint num="2" id="1385" />
@@ -6206,16 +6206,16 @@ On prend b=1 comme exemple
 <TGConnectingPoint num="6" id="1389" />
 <TGConnectingPoint num="7" id="1390" />
 <extraparam>
-<info value="AppC::Timer" taskName="Timer" referenceTaskName="AppC" priority="0" operation="" fatherComponentMECType="0" />
+<info value="AppC::InterfaceDevice" taskName="InterfaceDevice" referenceTaskName="AppC" priority="0" operation="" fatherComponentMECType="0" />
 </extraparam>
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1101" id="1400" >
 <father id="1452" num="1" />
-<cdparam x="290" y="234" />
-<sizeparam width="144" height="50" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="291" y="153" />
+<sizeparam width="141" height="50" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="315" minY="0" maxY="271" />
-<infoparam name="TGComponent" value="AppC::Application" />
+<cdrectangleparam minX="0" maxX="318" minY="0" maxY="271" />
+<infoparam name="TGComponent" value="AppC::SmartCard" />
 <TGConnectingPoint num="0" id="1392" />
 <TGConnectingPoint num="1" id="1393" />
 <TGConnectingPoint num="2" id="1394" />
@@ -6225,7 +6225,7 @@ On prend b=1 comme exemple
 <TGConnectingPoint num="6" id="1398" />
 <TGConnectingPoint num="7" id="1399" />
 <extraparam>
-<info value="AppC::Application" taskName="Application" referenceTaskName="AppC" priority="0" operation="" fatherComponentMECType="0" />
+<info value="AppC::SmartCard" taskName="SmartCard" referenceTaskName="AppC" priority="0" operation="" fatherComponentMECType="0" />
 </extraparam>
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1101" id="1409" >
@@ -6249,11 +6249,11 @@ On prend b=1 comme exemple
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1101" id="1418" >
 <father id="1452" num="3" />
-<cdparam x="291" y="153" />
-<sizeparam width="141" height="50" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="290" y="234" />
+<sizeparam width="144" height="50" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="318" minY="0" maxY="271" />
-<infoparam name="TGComponent" value="AppC::SmartCard" />
+<cdrectangleparam minX="0" maxX="315" minY="0" maxY="271" />
+<infoparam name="TGComponent" value="AppC::Application" />
 <TGConnectingPoint num="0" id="1410" />
 <TGConnectingPoint num="1" id="1411" />
 <TGConnectingPoint num="2" id="1412" />
@@ -6263,16 +6263,16 @@ On prend b=1 comme exemple
 <TGConnectingPoint num="6" id="1416" />
 <TGConnectingPoint num="7" id="1417" />
 <extraparam>
-<info value="AppC::SmartCard" taskName="SmartCard" referenceTaskName="AppC" priority="0" operation="" fatherComponentMECType="0" />
+<info value="AppC::Application" taskName="Application" referenceTaskName="AppC" priority="0" operation="" fatherComponentMECType="0" />
 </extraparam>
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1101" id="1427" >
 <father id="1452" num="4" />
-<cdparam x="92" y="154" />
-<sizeparam width="172" height="50" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="226" y="304" />
+<sizeparam width="109" height="50" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="287" 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="1419" />
 <TGConnectingPoint num="1" id="1420" />
 <TGConnectingPoint num="2" id="1421" />
@@ -6282,7 +6282,7 @@ On prend b=1 comme exemple
 <TGConnectingPoint num="6" id="1425" />
 <TGConnectingPoint num="7" id="1426" />
 <extraparam>
-<info value="AppC::InterfaceDevice" taskName="InterfaceDevice" referenceTaskName="AppC" priority="0" operation="" fatherComponentMECType="0" />
+<info value="AppC::Timer" taskName="Timer" referenceTaskName="AppC" priority="0" operation="" fatherComponentMECType="0" />
 </extraparam>
 </SUBCOMPONENT>
 
@@ -6296,6 +6296,102 @@ On prend b=1 comme exemple
 
 <Modeling type="TML Architecture" nameTab="Mapping2" >
 <TMLArchiDiagramPanel name="DIPLODOCUS architecture and mapping Diagram" minX="10" maxX="1400" minY="10" maxY="900" attributes="0" masterClockFrequency="200" >
+<CONNECTOR type="125" id="1717" >
+<cdparam x="1102" y="237" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="{info}" />
+<P1  x="1102" y="237" id="1703" />
+<P2  x="934" y="189" id="1671" />
+<AutomaticDrawing  data="true" />
+<extraparam>
+<info priority="0" />
+<spy value="false" />
+</extraparam>
+</CONNECTOR>
+<COMPONENT type="1105" id="1692" >
+<cdparam x="1102" y="187" />
+<sizeparam width="200" height="200" minWidth="100" minHeight="35" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
+<infoparam name="Memory0" value="name" />
+<TGConnectingPoint num="0" id="1693" />
+<TGConnectingPoint num="1" id="1694" />
+<TGConnectingPoint num="2" id="1695" />
+<TGConnectingPoint num="3" id="1696" />
+<TGConnectingPoint num="4" id="1697" />
+<TGConnectingPoint num="5" id="1698" />
+<TGConnectingPoint num="6" id="1699" />
+<TGConnectingPoint num="7" id="1700" />
+<TGConnectingPoint num="8" id="1701" />
+<TGConnectingPoint num="9" id="1702" />
+<TGConnectingPoint num="10" id="1703" />
+<TGConnectingPoint num="11" id="1704" />
+<TGConnectingPoint num="12" id="1705" />
+<TGConnectingPoint num="13" id="1706" />
+<TGConnectingPoint num="14" id="1707" />
+<TGConnectingPoint num="15" id="1708" />
+<TGConnectingPoint num="16" id="1709" />
+<TGConnectingPoint num="17" id="1710" />
+<TGConnectingPoint num="18" id="1711" />
+<TGConnectingPoint num="19" id="1712" />
+<TGConnectingPoint num="20" id="1713" />
+<TGConnectingPoint num="21" id="1714" />
+<TGConnectingPoint num="22" id="1715" />
+<TGConnectingPoint num="23" id="1716" />
+<extraparam>
+<info stereotype="MEMORY" nodeName="Memory0" />
+<attributes byteDataSize="4"  clockRatio="1"  bufferType="0" />
+</extraparam>
+</COMPONENT>
+
+<CONNECTOR type="125" id="1691" >
+<cdparam x="576" y="243" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="{info}" />
+<P1  x="576" y="243" id="1607" />
+<P2  x="684" y="201" id="1679" />
+<AutomaticDrawing  data="true" />
+<extraparam>
+<info priority="0" />
+<spy value="false" />
+</extraparam>
+</CONNECTOR>
+<COMPONENT type="1102" id="1666" >
+<cdparam x="684" y="164" />
+<sizeparam width="250" height="50" minWidth="100" minHeight="50" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
+<infoparam name="Bus1" value="name" />
+<TGConnectingPoint num="0" id="1667" />
+<TGConnectingPoint num="1" id="1668" />
+<TGConnectingPoint num="2" id="1669" />
+<TGConnectingPoint num="3" id="1670" />
+<TGConnectingPoint num="4" id="1671" />
+<TGConnectingPoint num="5" id="1672" />
+<TGConnectingPoint num="6" id="1673" />
+<TGConnectingPoint num="7" id="1674" />
+<TGConnectingPoint num="8" id="1675" />
+<TGConnectingPoint num="9" id="1676" />
+<TGConnectingPoint num="10" id="1677" />
+<TGConnectingPoint num="11" id="1678" />
+<TGConnectingPoint num="12" id="1679" />
+<TGConnectingPoint num="13" id="1680" />
+<TGConnectingPoint num="14" id="1681" />
+<TGConnectingPoint num="15" id="1682" />
+<TGConnectingPoint num="16" id="1683" />
+<TGConnectingPoint num="17" id="1684" />
+<TGConnectingPoint num="18" id="1685" />
+<TGConnectingPoint num="19" id="1686" />
+<TGConnectingPoint num="20" id="1687" />
+<TGConnectingPoint num="21" id="1688" />
+<TGConnectingPoint num="22" id="1689" />
+<TGConnectingPoint num="23" id="1690" />
+<extraparam>
+<info stereotype="BUS-RR" nodeName="Bus1" />
+<attributes byteDataSize="4"  arbitrationPolicy="0"  sliceTime="10000"  pipelineSize="1"  clockRatio="1"  privacy="0"  referenceAttack="null" />
+</extraparam>
+</COMPONENT>
+
 <COMPONENT type="1105" id="1477" >
 <cdparam x="420" y="527" />
 <sizeparam width="189" height="131" minWidth="100" minHeight="50" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
@@ -6515,11 +6611,11 @@ On prend b=1 comme exemple
 </COMPONENT>
 <SUBCOMPONENT type="1101" id="1579" >
 <father id="1622" num="0" />
-<cdparam x="486" y="303" />
-<sizeparam width="141" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="396" y="258" />
+<sizeparam width="109" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="109" minY="0" maxY="106" />
-<infoparam name="TGComponent" value="AppC::SmartCard" />
+<cdrectangleparam minX="0" maxX="141" minY="0" maxY="106" />
+<infoparam name="TGComponent" value="AppC::TCPIP" />
 <TGConnectingPoint num="0" id="1571" />
 <TGConnectingPoint num="1" id="1572" />
 <TGConnectingPoint num="2" id="1573" />
@@ -6529,7 +6625,7 @@ On prend b=1 comme exemple
 <TGConnectingPoint num="6" id="1577" />
 <TGConnectingPoint num="7" id="1578" />
 <extraparam>
-<info value="AppC::SmartCard" taskName="SmartCard" referenceTaskName="AppC" priority="0" operation="" fatherComponentMECType="0" />
+<info value="AppC::TCPIP" taskName="TCPIP" referenceTaskName="AppC" priority="0" operation="" fatherComponentMECType="0" />
 </extraparam>
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1101" id="1588" >
@@ -6553,11 +6649,11 @@ On prend b=1 comme exemple
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1101" id="1597" >
 <father id="1622" num="2" />
-<cdparam x="396" y="258" />
-<sizeparam width="109" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="486" y="303" />
+<sizeparam width="141" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="141" minY="0" maxY="106" />
-<infoparam name="TGComponent" value="AppC::TCPIP" />
+<cdrectangleparam minX="0" maxX="109" minY="0" maxY="106" />
+<infoparam name="TGComponent" value="AppC::SmartCard" />
 <TGConnectingPoint num="0" id="1589" />
 <TGConnectingPoint num="1" id="1590" />
 <TGConnectingPoint num="2" id="1591" />
@@ -6567,7 +6663,7 @@ On prend b=1 comme exemple
 <TGConnectingPoint num="6" id="1595" />
 <TGConnectingPoint num="7" id="1596" />
 <extraparam>
-<info value="AppC::TCPIP" taskName="TCPIP" referenceTaskName="AppC" priority="0" operation="" fatherComponentMECType="0" />
+<info value="AppC::SmartCard" taskName="SmartCard" referenceTaskName="AppC" priority="0" operation="" fatherComponentMECType="0" />
 </extraparam>
 </SUBCOMPONENT>
 
@@ -6668,19 +6764,19 @@ On prend b=1 comme exemple
 </COMPONENT>
 <SUBCOMPONENT type="6005" id="1637" >
 <father id="1645" num="0" />
-<cdparam x="523" y="361" />
+<cdparam x="523" y="346" />
 <sizeparam width="10" height="10" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="605" maxX="605" minY="355" maxY="355" />
-<infoparam name="value " value="Mapping2" />
+<cdrectangleparam minX="605" maxX="605" minY="340" maxY="340" />
+<infoparam name="value " value="Mapping1" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="6005" id="1638" >
 <father id="1645" num="1" />
-<cdparam x="523" y="346" />
+<cdparam x="523" y="361" />
 <sizeparam width="10" height="10" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="605" maxX="605" minY="340" maxY="340" />
-<infoparam name="value " value="Mapping1" />
+<cdrectangleparam minX="605" maxX="605" minY="355" maxY="355" />
+<infoparam name="value " value="Mapping2" />
 </SUBCOMPONENT>
 
 <COMPONENT type="6001" id="1652" >
@@ -6696,19 +6792,19 @@ On prend b=1 comme exemple
 </COMPONENT>
 <SUBCOMPONENT type="6005" id="1646" >
 <father id="1652" num="0" />
-<cdparam x="855" y="155" />
+<cdparam x="855" y="140" />
 <sizeparam width="10" height="10" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="855" maxX="855" minY="155" maxY="155" />
-<infoparam name="value " value="Mapping2" />
+<cdrectangleparam minX="855" maxX="855" minY="140" maxY="140" />
+<infoparam name="value " value="Mapping1" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="6005" id="1647" >
 <father id="1652" num="1" />
-<cdparam x="855" y="140" />
+<cdparam x="855" y="155" />
 <sizeparam width="10" height="10" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="855" maxX="855" minY="140" maxY="140" />
-<infoparam name="value " value="Mapping1" />
+<cdrectangleparam minX="855" maxX="855" minY="155" maxY="155" />
+<infoparam name="value " value="Mapping2" />
 </SUBCOMPONENT>
 
 <COMPONENT type="6000" id="1658" >
diff --git a/src/main/java/tmltranslator/tomappingsystemc2/TML2MappingSystemC.java b/src/main/java/tmltranslator/tomappingsystemc2/TML2MappingSystemC.java
index cf514482ce..dad6681a60 100644
--- a/src/main/java/tmltranslator/tomappingsystemc2/TML2MappingSystemC.java
+++ b/src/main/java/tmltranslator/tomappingsystemc2/TML2MappingSystemC.java
@@ -37,8 +37,6 @@
  */
 
 
-
-
 package tmltranslator.tomappingsystemc2;
 
 import myutil.Conversion;
@@ -53,19 +51,20 @@ import java.util.*;
 
 
 /**
-   * Class TML2MappingSystemC
-   * Creation: 03/09/2007
-   * @version 1.0 03/09/2007
-   * @author Daniel Knorreck
+ * Class TML2MappingSystemC
+ * Creation: 03/09/2007
+ *
+ * @author Daniel Knorreck
+ * @version 1.0 03/09/2007
  */
 public class TML2MappingSystemC implements IDiploSimulatorCodeGenerator {
 
     private final static String CR = "\n";
-  //  private final static String CR2 = "\n\n";
+    //  private final static String CR2 = "\n\n";
     private final static String SCCR = ";\n";
-  //  private final static String EFCR = "}\n";
-  //  private final static String EFCR2 = "}\n\n";
-  //  private final static String EF = "}";
+    //  private final static String EFCR = "}\n";
+    //  private final static String EFCR2 = "}\n\n";
+    //  private final static String EF = "}";
     //private final static int MAX_EVENT = 1024;
 
     private TMLModeling<?> tmlmodeling;
@@ -83,34 +82,34 @@ public class TML2MappingSystemC implements IDiploSimulatorCodeGenerator {
 
     public TML2MappingSystemC(TMLModeling<?> _tmlm) {
         tmlmodeling = _tmlm;
-	tmlmodeling.removeForksAndJoins();
+        tmlmodeling.removeForksAndJoins();
         tmlmapping = tmlmodeling.getDefaultMapping();
-        tepeTranslator = new  SystemCTEPE(new ArrayList<TEPE>(), this);
+        tepeTranslator = new SystemCTEPE(new ArrayList<TEPE>(), this);
     }
 
     public TML2MappingSystemC(TMLMapping<?> _tmlmapping) {
         tmlmapping = _tmlmapping;
-	tmlmapping.handleCPs();
-	tmlmapping.removeForksAndJoins();
+        tmlmapping.handleCPs();
+        tmlmapping.removeForksAndJoins();
         tmlmapping.makeMinimumMapping();
-        tepeTranslator = new  SystemCTEPE(new ArrayList<TEPE>(), this);
+        tepeTranslator = new SystemCTEPE(new ArrayList<TEPE>(), this);
     }
 
     public TML2MappingSystemC(TMLModeling<?> _tmlm, List<EBRDD> _ebrdds, List<TEPE> _tepes) {
         tmlmodeling = _tmlm;
         //ebrdds = _ebrdds;
         tmlmapping = tmlmodeling.getDefaultMapping();
-        tepeTranslator = new  SystemCTEPE(_tepes, this);
+        tepeTranslator = new SystemCTEPE(_tepes, this);
         //tepeTranslator.generateTEPEs();
     }
 
     public TML2MappingSystemC(TMLMapping<?> _tmlmapping, List<EBRDD> _ebrdds, List<TEPE> _tepes) {
         tmlmapping = _tmlmapping;
-	tmlmapping.handleCPs();
-	tmlmapping.removeForksAndJoins();
+        tmlmapping.handleCPs();
+        tmlmapping.removeForksAndJoins();
         //ebrdds = _ebrdds;
         tmlmapping.makeMinimumMapping();
-        tepeTranslator = new  SystemCTEPE(_tepes, this);
+        tepeTranslator = new SystemCTEPE(_tepes, this);
         //tepeTranslator.generateTEPEs();
     }
 
@@ -130,7 +129,7 @@ public class TML2MappingSystemC implements IDiploSimulatorCodeGenerator {
         debug = _debug;
         optimize = _optimize;
         tmlmapping.removeAllRandomSequences();
-	tmlmapping.handleCPs();
+        tmlmapping.handleCPs();
         tmlmodeling = tmlmapping.getTMLModeling();
         tasks = new ArrayList<MappedSystemCTask>();
         //generateSystemCTasks();
@@ -149,7 +148,7 @@ public class TML2MappingSystemC implements IDiploSimulatorCodeGenerator {
 
     private void generateMakefileSrc() {
         src = "SRCS = ";
-        for(TMLTask mst: tmlmapping.getMappedTasks()) {
+        for (TMLTask mst : tmlmapping.getMappedTasks()) {
             src += mst.getName() + ".cpp ";
         }
         //for(EBRDD ebrdd: ebrdds){
@@ -170,7 +169,7 @@ public class TML2MappingSystemC implements IDiploSimulatorCodeGenerator {
         header += "#include <SimComponents.h>\n#include <Server.h>\n#include <SimServSyncInfo.h>\n#include <ListenersSimCmd.h>\n";
 
         // Generate tasks header
-        for(TMLTask mst: tmlmapping.getMappedTasks()) {
+        for (TMLTask mst : tmlmapping.getMappedTasks()) {
             //header += "#include <" + mst.getReference() + ".h>" + CR;
             header += "#include <" + mst.getName() + ".h>" + CR;
         }
@@ -185,36 +184,38 @@ public class TML2MappingSystemC implements IDiploSimulatorCodeGenerator {
 
         // Declaration of HW nodes
         declaration += "//Declaration of CPUs" + CR;
-        for(HwNode node: tmlmapping.getTMLArchitecture().getHwNodes()) {
+        for (HwNode node : tmlmapping.getTMLArchitecture().getHwNodes()) {
             if (node instanceof HwCPU) {
-                HwCPU exNode = (HwCPU)node;
+                HwCPU exNode = (HwCPU) node;
                 if (exNode.getType().equals("CPURRPB"))
                     declaration += "PrioScheduler* " + exNode.getName() + "_scheduler = new PrioScheduler(\"" + exNode.getName() + "_PrioSched\",0)" + SCCR;
                 else
                     //tmlmapping.getTMLArchitecture().getMasterClockFrequency() * exNode.sliceTime
                     //declaration += "RRScheduler* " + exNode.getName() + "_scheduler = new RRScheduler(\"" + exNode.getName() + "_RRSched\", 0, 5, " + (int) Math.ceil(((float)exNode.execiTime)*(1+((float)exNode.branchingPredictionPenalty)/100)) + " ) " + SCCR;
-                    declaration += "RRScheduler* " + exNode.getName() + "_scheduler = new RRScheduler(\"" + exNode.getName() + "_RRSched\", 0, " + (tmlmapping.getTMLArchitecture().getMasterClockFrequency() * exNode.sliceTime) + ", " + (int) Math.ceil((float)(exNode.clockRatio * Math.max(exNode.execiTime,exNode.execcTime) * (exNode.branchingPredictionPenalty * exNode.pipelineSize +100 - exNode.branchingPredictionPenalty))/100) + " ) " + SCCR;
-		TraceManager.addDev("cores " + exNode.nbOfCores);
-                for(int cores=0; cores<exNode.nbOfCores; cores++){
-                //for(int cores=0; cores<1; cores++){
+                    declaration += "RRScheduler* " + exNode.getName() + "_scheduler = new RRScheduler(\"" + exNode.getName() + "_RRSched\", 0, " + (tmlmapping.getTMLArchitecture().getMasterClockFrequency() * exNode.sliceTime) + ", " + (int) Math.ceil((float) (exNode.clockRatio * Math.max(exNode.execiTime, exNode.execcTime) * (exNode.branchingPredictionPenalty * exNode.pipelineSize + 100 - exNode.branchingPredictionPenalty)) / 100) + " ) " + SCCR;
+                TraceManager.addDev("cores " + exNode.nbOfCores);
+                for (int cores = 0; cores < exNode.nbOfCores; cores++) {
+                    //for(int cores=0; cores<1; cores++){
                     //if (tmlmapping.isAUsedHwNode(node)) {
                     declaration += "CPU* " + exNode.getName() + cores + " = new SingleCoreCPU(" + exNode.getID() + ", \"" + exNode.getName() + "_" + cores + "\", " + exNode.getName() + "_scheduler" + ", ";
 
-                    declaration  += exNode.clockRatio + ", " + exNode.execiTime + ", " + exNode.execcTime + ", " + exNode.pipelineSize + ", " + exNode.taskSwitchingTime + ", " + exNode.branchingPredictionPenalty + ", " + exNode.goIdleTime + ", "  + exNode.maxConsecutiveIdleCycles + ", " + exNode.byteDataSize + ")" + SCCR;
-                    if (cores!=0) declaration+= node.getName() + cores + "->setScheduler(" + exNode.getName() + "_scheduler,false)" + SCCR;
-                    declaration += "addCPU("+ node.getName() + cores +")"+ SCCR;
+                    declaration += exNode.clockRatio + ", " + exNode.execiTime + ", " + exNode.execcTime + ", " + exNode.pipelineSize + ", " + exNode.taskSwitchingTime + ", " + exNode.branchingPredictionPenalty + ", " + exNode.goIdleTime + ", " + exNode.maxConsecutiveIdleCycles + ", " + exNode.byteDataSize + ")" + SCCR;
+                    if (cores != 0)
+                        declaration += node.getName() + cores + "->setScheduler(" + exNode.getName() + "_scheduler,false)" + SCCR;
+                    declaration += "addCPU(" + node.getName() + cores + ")" + SCCR;
                 }
             }
             if (node instanceof HwA) {
-                HwA hwaNode = (HwA)node;
-                declaration += "RRScheduler* " + hwaNode.getName() + "_scheduler = new RRScheduler(\"" + hwaNode.getName() + "_RRSched\", 0, " + (tmlmapping.getTMLArchitecture().getMasterClockFrequency() * HwA.DEFAULT_SLICE_TIME) + ", " + (int) Math.ceil((float)(hwaNode.clockRatio * Math.max(hwaNode.execiTime,hwaNode.execcTime) * (HwA.DEFAULT_BRANCHING_PREDICTION_PENALTY * HwA.DEFAULT_PIPELINE_SIZE +100 - HwA.DEFAULT_BRANCHING_PREDICTION_PENALTY))/100) + " ) " + SCCR;
-                for(int cores=0; cores<1; cores++){
+                HwA hwaNode = (HwA) node;
+                declaration += "RRScheduler* " + hwaNode.getName() + "_scheduler = new RRScheduler(\"" + hwaNode.getName() + "_RRSched\", 0, " + (tmlmapping.getTMLArchitecture().getMasterClockFrequency() * HwA.DEFAULT_SLICE_TIME) + ", " + (int) Math.ceil((float) (hwaNode.clockRatio * Math.max(hwaNode.execiTime, hwaNode.execcTime) * (HwA.DEFAULT_BRANCHING_PREDICTION_PENALTY * HwA.DEFAULT_PIPELINE_SIZE + 100 - HwA.DEFAULT_BRANCHING_PREDICTION_PENALTY)) / 100) + " ) " + SCCR;
+                for (int cores = 0; cores < 1; cores++) {
                     //if (tmlmapping.isAUsedHwNode(node)) {
                     declaration += "CPU* " + hwaNode.getName() + cores + " = new SingleCoreCPU(" + hwaNode.getID() + ", \"" + hwaNode.getName() + "_" + cores + "\", " + hwaNode.getName() + "_scheduler" + ", ";
 
-                    declaration  += hwaNode.clockRatio + ", " + hwaNode.execiTime + ", " + hwaNode.execcTime + ", " + HwA.DEFAULT_PIPELINE_SIZE + ", " + HwA.DEFAULT_TASK_SWITCHING_TIME + ", " + HwA.DEFAULT_BRANCHING_PREDICTION_PENALTY + ", " + HwA.DEFAULT_GO_IDLE_TIME + ", "  + HwA.DEFAULT_MAX_CONSECUTIVE_IDLE_CYCLES + ", " + hwaNode.byteDataSize + ")" + SCCR;
-                    if (cores!=0) declaration+= node.getName() + cores + "->setScheduler(" + hwaNode.getName() + "_scheduler,false)" + SCCR;
-                    declaration += "addCPU("+ node.getName() + cores +")"+ SCCR;
+                    declaration += hwaNode.clockRatio + ", " + hwaNode.execiTime + ", " + hwaNode.execcTime + ", " + HwA.DEFAULT_PIPELINE_SIZE + ", " + HwA.DEFAULT_TASK_SWITCHING_TIME + ", " + HwA.DEFAULT_BRANCHING_PREDICTION_PENALTY + ", " + HwA.DEFAULT_GO_IDLE_TIME + ", " + HwA.DEFAULT_MAX_CONSECUTIVE_IDLE_CYCLES + ", " + hwaNode.byteDataSize + ")" + SCCR;
+                    if (cores != 0)
+                        declaration += node.getName() + cores + "->setScheduler(" + hwaNode.getName() + "_scheduler,false)" + SCCR;
+                    declaration += "addCPU(" + node.getName() + cores + ")" + SCCR;
                 }
 
             }
@@ -225,14 +226,15 @@ public class TML2MappingSystemC implements IDiploSimulatorCodeGenerator {
         declaration += "//Declaration of Buses" + CR;
         //declaration+="Bus* defaultBus = new Bus(-1,\"defaultBus\",100,1,1)" + SCCR;
         //declaration += "addBus(defaultBus)"+ SCCR;
-        for(HwNode node: tmlmapping.getTMLArchitecture().getHwNodes()) {
+        for (HwNode node : tmlmapping.getTMLArchitecture().getHwNodes()) {
             if (node instanceof HwBus) {
                 //if (tmlmapping.isAUsedHwNode(node)) {
-                HwBus thisBus = (HwBus)node;
-                for(int i=0; i< thisBus.pipelineSize; i++){
-                    declaration += "Bus* " + node.getName() + "_" + i + " = new Bus("+ node.getID() + ",\"" + node.getName() + "_" + i + "\",0, 100, "+ thisBus.byteDataSize + ", " + node.clockRatio + ",";
-                    if(thisBus.arbitration==HwBus.CAN) declaration +="true"; else declaration +="false";
-                    declaration += ");\naddBus("+ node.getName() + "_" + i + ")"+ SCCR;
+                HwBus thisBus = (HwBus) node;
+                for (int i = 0; i < thisBus.pipelineSize; i++) {
+                    declaration += "Bus* " + node.getName() + "_" + i + " = new Bus(" + node.getID() + ",\"" + node.getName() + "_" + i + "\",0, 100, " + thisBus.byteDataSize + ", " + node.clockRatio + ",";
+                    if (thisBus.arbitration == HwBus.CAN) declaration += "true";
+                    else declaration += "false";
+                    declaration += ");\naddBus(" + node.getName() + "_" + i + ")" + SCCR;
                 }
                 //}
             }
@@ -241,10 +243,10 @@ public class TML2MappingSystemC implements IDiploSimulatorCodeGenerator {
 
         // Declaration of Bridges
         declaration += "//Declaration of Bridges" + CR;
-        for(HwNode node: tmlmapping.getTMLArchitecture().getHwNodes()) {
+        for (HwNode node : tmlmapping.getTMLArchitecture().getHwNodes()) {
             if (node instanceof HwBridge) {
-                declaration+= "Bridge* " + node.getName() + " = new Bridge("+ node.getID() + ",\"" + node.getName() + "\", " + node.clockRatio + ", " + ((HwBridge)node).bufferByteSize + ")" +SCCR;
-                declaration += "addBridge("+ node.getName() +")"+ SCCR;
+                declaration += "Bridge* " + node.getName() + " = new Bridge(" + node.getID() + ",\"" + node.getName() + "\", " + node.clockRatio + ", " + ((HwBridge) node).bufferByteSize + ")" + SCCR;
+                declaration += "addBridge(" + node.getName() + ")" + SCCR;
             }
         }
         declaration += CR;
@@ -253,36 +255,37 @@ public class TML2MappingSystemC implements IDiploSimulatorCodeGenerator {
         //declaration += "//Declaration of Memories\nMemory* defaultMemory = new Memory(-1,\"defaultMemory\",1,4)" + SCCR;
         //declaration += "addMem(defaultMemory)"+ SCCR;
         declaration += "//Declaration of Memories" + CR;
-        for(HwNode node: tmlmapping.getTMLArchitecture().getHwNodes()) {
+        for (HwNode node : tmlmapping.getTMLArchitecture().getHwNodes()) {
             if (node instanceof HwMemory) {
-                declaration+= "Memory* " + node.getName() + " = new Memory("+ node.getID() + ",\"" + node.getName() + "\", " + node.clockRatio + ", " + ((HwMemory)node).byteDataSize + ")" +SCCR;
-                declaration += "addMem("+ node.getName() +")"+ SCCR;
+                declaration += "Memory* " + node.getName() + " = new Memory(" + node.getID() + ",\"" + node.getName() + "\", " + node.clockRatio + ", " + ((HwMemory) node).byteDataSize + ")" + SCCR;
+                declaration += "addMem(" + node.getName() + ")" + SCCR;
             }
         }
         declaration += CR;
 
         //Declaration of Bus masters
         declaration += "//Declaration of Bus masters" + CR;
-        for(HwNode node: tmlmapping.getTMLArchitecture().getHwNodes()){
-            if (node instanceof HwExecutionNode || node instanceof HwBridge){
-                List<HwLink> nodeLinks= tmlmapping.getTMLArchitecture().getLinkByHwNode(node);
-                if (!nodeLinks.isEmpty()){
+        for (HwNode node : tmlmapping.getTMLArchitecture().getHwNodes()) {
+            if (node instanceof HwExecutionNode || node instanceof HwBridge) {
+                List<HwLink> nodeLinks = tmlmapping.getTMLArchitecture().getLinkByHwNode(node);
+                if (!nodeLinks.isEmpty()) {
                     //declaration+= "BusMaster* " + node.getName() + "2defaultBus = new BusMaster(\"" + node.getName() + "2defaultBus\", 0, defaultBus)" + SCCR;
                     //else{
-                    for(HwLink link: nodeLinks){
+                    for (HwLink link : nodeLinks) {
                         //declaration+= "BusMaster* " + node.getName() + "_" + link.bus.getName() + "_Master = new BusMaster(\"" + node.getName() + "_" + link.bus.getName() + "_Master\", " + link.getPriority() + ", 1, array(1, (SchedulableCommDevice*)" +  link.bus.getName() + "))" + SCCR;
                         int noOfCores;
-                        if (node instanceof HwCPU) noOfCores= ((HwCPU)node).nbOfCores; else noOfCores=1;
+                        if (node instanceof HwCPU) noOfCores = ((HwCPU) node).nbOfCores;
+                        else noOfCores = 1;
                         //noOfCores=2;
-                        for (int cores=0; cores<noOfCores; cores++){
-                            String nodeName=node.getName();
-                            if ((node instanceof HwCPU) ||  (node instanceof HwA) )
-                                nodeName+= cores;
-                            declaration+= "BusMaster* " + nodeName + "_" + link.bus.getName() + "_Master = new BusMaster(\"" + nodeName + "_" + link.bus.getName() + "_Master\", " + link.getPriority() + ", " + link.bus.pipelineSize + ", array(" + link.bus.pipelineSize;
-                            for(int i=0; i< link.bus.pipelineSize; i++)
-                                declaration+= ", (SchedulableCommDevice*)" +  link.bus.getName() + "_" + i;
-                            declaration+= "))" + SCCR;
-                            declaration+= nodeName + "->addBusMaster(" + nodeName + "_" + link.bus.getName() + "_Master)" + SCCR;
+                        for (int cores = 0; cores < noOfCores; cores++) {
+                            String nodeName = node.getName();
+                            if ((node instanceof HwCPU) || (node instanceof HwA))
+                                nodeName += cores;
+                            declaration += "BusMaster* " + nodeName + "_" + link.bus.getName() + "_Master = new BusMaster(\"" + nodeName + "_" + link.bus.getName() + "_Master\", " + link.getPriority() + ", " + link.bus.pipelineSize + ", array(" + link.bus.pipelineSize;
+                            for (int i = 0; i < link.bus.pipelineSize; i++)
+                                declaration += ", (SchedulableCommDevice*)" + link.bus.getName() + "_" + i;
+                            declaration += "))" + SCCR;
+                            declaration += nodeName + "->addBusMaster(" + nodeName + "_" + link.bus.getName() + "_Master)" + SCCR;
                         }
                     }
                 }
@@ -292,121 +295,122 @@ public class TML2MappingSystemC implements IDiploSimulatorCodeGenerator {
 
         // Declaration of channels
         TMLChannel channel;
-        String tmp,param;
+        String tmp, param;
         declaration += "//Declaration of channels" + CR;
-        for(TMLElement elem: tmlmodeling.getChannels()){
+        for (TMLElement elem : tmlmodeling.getChannels()) {
             if (elem instanceof TMLChannel) {
-                channel = (TMLChannel)elem;
-                switch(channel.getType()) {
-                case TMLChannel.BRBW:
-                    tmp = "TMLbrbwChannel";
-                    param= "," + channel.getMax() + ",0";
-                    break;
-                case TMLChannel.BRNBW:
-                    tmp = "TMLbrnbwChannel";
-                    param= ",0";
-                    break;
-                case TMLChannel.NBRNBW:
-                default:
-                    tmp = "TMLnbrnbwChannel";
-                    param= "";
+                channel = (TMLChannel) elem;
+                switch (channel.getType()) {
+                    case TMLChannel.BRBW:
+                        tmp = "TMLbrbwChannel";
+                        param = "," + channel.getMax() + ",0";
+                        break;
+                    case TMLChannel.BRNBW:
+                        tmp = "TMLbrnbwChannel";
+                        param = ",0";
+                        break;
+                    case TMLChannel.NBRNBW:
+                    default:
+                        tmp = "TMLnbrnbwChannel";
+                        param = "";
                 }
-                declaration += tmp + "* " + channel.getExtendedName() + " = new " + tmp  +"(" + channel.getID() + ",\"" + channel.getName() + "\"," + channel.getSize() + ",";
+                declaration += tmp + "* " + channel.getExtendedName() + " = new " + tmp + "(" + channel.getID() + ",\"" + channel.getName() + "\"," + channel.getSize() + ",";
                 //TraceManager.addDev("Channel: " + channel.getName());
                 //TraceManager.addDev("Channel origin node: " + channel.getOriginTask().getName() + " dest node: " + channel.getDestinationTask().getName());
                 //TraceManager.addDev( "the list of mapped tasks: " + tmlmapping.getMappedTasksString());
-                declaration+= determineRouting(tmlmapping.getHwNodeOf(channel.getOriginTask()), tmlmapping.getHwNodeOf(channel.getDestinationTask()), elem) + param + "," + channel.getPriority();
-                if (channel.isLossy() && channel.getType()!=TMLChannel.NBRNBW) declaration += "," + channel.getLossPercentage() + "," + channel.getMaxNbOfLoss();
-                declaration += ")"+ SCCR;
-                declaration += "addChannel("+ channel.getExtendedName() +")"+ SCCR;
+                declaration += determineRouting(tmlmapping.getHwNodeOf(channel.getOriginTask()), tmlmapping.getHwNodeOf(channel.getDestinationTask()), elem) + param + "," + channel.getPriority();
+                if (channel.isLossy() && channel.getType() != TMLChannel.NBRNBW)
+                    declaration += "," + channel.getLossPercentage() + "," + channel.getMaxNbOfLoss();
+                declaration += ")" + SCCR;
+                declaration += "addChannel(" + channel.getExtendedName() + ")" + SCCR;
             }
         }
         declaration += CR;
 
         // Declaration of events
         declaration += "//Declaration of events" + CR;
-        for(TMLEvent evt: tmlmodeling.getEvents()) {
+        for (TMLEvent evt : tmlmodeling.getEvents()) {
             if (evt.isInfinite()) {
                 tmp = "TMLEventBChannel<ParamType," + evt.getNbOfParams() + ">";
-                param= ",0,false,false";
+                param = ",0,false,false";
             } else {
                 if (evt.isBlocking()) {
                     tmp = "TMLEventFBChannel<ParamType," + evt.getNbOfParams() + ">";
-                    param= "," + evt.getMaxSize() + ",0";
+                    param = "," + evt.getMaxSize() + ",0";
                 } else {
                     tmp = "TMLEventFChannel<ParamType," + evt.getNbOfParams() + ">";
-                    param= "," + evt.getMaxSize() + ",0";
+                    param = "," + evt.getMaxSize() + ",0";
                 }
             }
             //param += "," + evt.getNbOfParams();
-            if (tmlmapping.isCommNodeMappedOn(evt,null)){
+            if (tmlmapping.isCommNodeMappedOn(evt, null)) {
                 TraceManager.addDev("Evt: " + evt.getName());
                 declaration += tmp + "* " + evt.getExtendedName() + " = new " + tmp + "(" + evt.getID() + ",\"" + evt.getName() + "\"," + determineRouting(tmlmapping.getHwNodeOf(evt.getOriginTask()), tmlmapping.getHwNodeOf(evt.getDestinationTask()), evt) + param;
 
-            }else{
+            } else {
                 declaration += tmp + "* " + evt.getExtendedName() + " = new " + tmp + "(" + evt.getID() + ",\"" + evt.getName() + "\",0,0,0" + param;   ///old command
             }
             if (evt.isLossy()) declaration += "," + evt.getLossPercentage() + "," + evt.getMaxNbOfLoss();
             declaration += ")" + SCCR;
-            declaration += "addEvent("+ evt.getExtendedName() +")"+ SCCR;
+            declaration += "addEvent(" + evt.getExtendedName() + ")" + SCCR;
         }
         declaration += CR;
 
         // Declaration of requests
         declaration += "//Declaration of requests" + CR;
-        for(TMLTask task: tmlmodeling.getTasks()) {
-            if (task.isRequested()){
+        for (TMLTask task : tmlmodeling.getTasks()) {
+            if (task.isRequested()) {
                 TMLRequest req = task.getRequest();
-                if (tmlmapping.isCommNodeMappedOn(req,null)){
+                if (tmlmapping.isCommNodeMappedOn(req, null)) {
                     //declaration += "TMLEventBChannel* reqChannel_"+ task.getName() + " = new TMLEventBChannel(" +
                     TraceManager.addDev("Request: " + req.getName());
-                    declaration += "TMLEventBChannel<ParamType," + req.getNbOfParams() + ">* reqChannel_"+ task.getName() + " = new TMLEventBChannel<ParamType," + req.getNbOfParams() + ">(" +
-                        req.getID() + ",\"reqChannel"+ task.getName() + "\"," +
-                        determineRouting(tmlmapping.getHwNodeOf(req.getOriginTasks().get(0)), //tmlmapping.getHwNodeOf(req.getDestinationTask()), req) + ",0," + req.getNbOfParams() + ",true)" + SCCR;
-                                         tmlmapping.getHwNodeOf(req.getDestinationTask()), req) + ",0,true,false";
-                }else{
-                    declaration += "TMLEventBChannel<ParamType," + req.getNbOfParams() + ">* reqChannel_"+ task.getName() + " = new TMLEventBChannel<ParamType," + req.getNbOfParams() + ">(" + //req.getID() + ",\"reqChannel"+ task.getName() + "\",0,0,0,0," + req.getNbOfParams() + ",true)" + SCCR;
-                        req.getID() + ",\"reqChannel"+ task.getName() + "\",0,0,0,0,true,false";
+                    declaration += "TMLEventBChannel<ParamType," + req.getNbOfParams() + ">* reqChannel_" + task.getName() + " = new TMLEventBChannel<ParamType," + req.getNbOfParams() + ">(" +
+                            req.getID() + ",\"reqChannel" + task.getName() + "\"," +
+                            determineRouting(tmlmapping.getHwNodeOf(req.getOriginTasks().get(0)), //tmlmapping.getHwNodeOf(req.getDestinationTask()), req) + ",0," + req.getNbOfParams() + ",true)" + SCCR;
+                                    tmlmapping.getHwNodeOf(req.getDestinationTask()), req) + ",0,true,false";
+                } else {
+                    declaration += "TMLEventBChannel<ParamType," + req.getNbOfParams() + ">* reqChannel_" + task.getName() + " = new TMLEventBChannel<ParamType," + req.getNbOfParams() + ">(" + //req.getID() + ",\"reqChannel"+ task.getName() + "\",0,0,0,0," + req.getNbOfParams() + ",true)" + SCCR;
+                            req.getID() + ",\"reqChannel" + task.getName() + "\",0,0,0,0,true,false";
                 }
                 if (req.isLossy()) declaration += "," + req.getLossPercentage() + "," + req.getMaxNbOfLoss();
                 declaration += ")" + SCCR;
-                declaration += "addRequest(reqChannel_"+ task.getName() +")"+ SCCR;
+                declaration += "addRequest(reqChannel_" + task.getName() + ")" + SCCR;
             }
         }
         declaration += CR;
 
         ///Set bus schedulers
         declaration += "//Set bus schedulers" + CR;
-        for(HwNode node: tmlmapping.getTMLArchitecture().getHwNodes()) {
+        for (HwNode node : tmlmapping.getTMLArchitecture().getHwNodes()) {
             if (node instanceof HwBus) {
-                List<HwLink> busLinks= tmlmapping.getTMLArchitecture().getLinkByBus((HwBus)node);
-                String devices="";
-                int numDevices=0;
-                if (!busLinks.isEmpty()){
-                    for(HwLink link: busLinks){
-                        if (link.hwnode instanceof HwExecutionNode || link.hwnode instanceof HwBridge){
-                            if ((link.hwnode instanceof HwCPU) || (link.hwnode instanceof HwA)){
-                                for (int cores=0; cores< ((HwCPU)link.hwnode).nbOfCores; cores++){
-                                //for (int cores=0; cores< 1; cores++){
-                                    devices += ", (WorkloadSource*)" + link.hwnode.getName()+ cores + "_" + node.getName() + "_Master";
+                List<HwLink> busLinks = tmlmapping.getTMLArchitecture().getLinkByBus((HwBus) node);
+                String devices = "";
+                int numDevices = 0;
+                if (!busLinks.isEmpty()) {
+                    for (HwLink link : busLinks) {
+                        if (link.hwnode instanceof HwExecutionNode || link.hwnode instanceof HwBridge) {
+                            if ((link.hwnode instanceof HwCPU) || (link.hwnode instanceof HwA)) {
+                                for (int cores = 0; cores < ((HwCPU) link.hwnode).nbOfCores; cores++) {
+                                    //for (int cores=0; cores< 1; cores++){
+                                    devices += ", (WorkloadSource*)" + link.hwnode.getName() + cores + "_" + node.getName() + "_Master";
                                     numDevices++;
                                 }
-                            }else{
-                                devices += ", (WorkloadSource*)" + link.hwnode.getName()+ "_" + node.getName() + "_Master";
+                            } else {
+                                devices += ", (WorkloadSource*)" + link.hwnode.getName() + "_" + node.getName() + "_Master";
                                 numDevices++;
                             }
                         }
                     }
                     declaration += node.getName() + "_0->setScheduler((WorkloadSource*) new ";
-                    if (((HwBus)node).arbitration==HwBus.BASIC_ROUND_ROBIN)
+                    if (((HwBus) node).arbitration == HwBus.BASIC_ROUND_ROBIN)
                         //declaration+="RRScheduler(\"" + node.getName() + "_RRSched\", 0, 5, " + (int) Math.ceil(((float)node.clockRatio)/((float)((HwBus)node).byteDataSize)) + ", array(";
-                        declaration+="RRScheduler(\"" + node.getName() + "_RRSched\", 0, 5, " + (int) Math.ceil(((float)node.clockRatio)/((float)((HwBus)node).byteDataSize)) + ", array(";
+                        declaration += "RRScheduler(\"" + node.getName() + "_RRSched\", 0, 5, " + (int) Math.ceil(((float) node.clockRatio) / ((float) ((HwBus) node).byteDataSize)) + ", array(";
                     else
-                        declaration+="PrioScheduler(\"" + node.getName() + "_PrioSched\", 0, array(";
-                    declaration+= numDevices + devices + "), " + numDevices + "))" + SCCR;
+                        declaration += "PrioScheduler(\"" + node.getName() + "_PrioSched\", 0, array(";
+                    declaration += numDevices + devices + "), " + numDevices + "))" + SCCR;
                 }
-                for(int i=1; i< ((HwBus)node).pipelineSize; i++)
-                    declaration+=node.getName() + "_" + i + "->setScheduler(" + node.getName() + "_0->getScheduler(),false)" +SCCR;
+                for (int i = 1; i < ((HwBus) node).pipelineSize; i++)
+                    declaration += node.getName() + "_" + i + "->setScheduler(" + node.getName() + "_0->getScheduler(),false)" + SCCR;
             }
         }
         declaration += CR;
@@ -422,28 +426,28 @@ public class TML2MappingSystemC implements IDiploSimulatorCodeGenerator {
         ArrayList<TMLRequest> requests;
         int[] aStatistics = new int[8];
         Set<Integer> mappedChannels = new HashSet<Integer>();
-        for(TMLTask task: tmlmapping.getMappedTasks()){
-            node= iterator.next();
-           // int noOfCores;
-            declaration += task.getName() + "* task__" + task.getName() + " = new " + task.getName() + "("+ task.getID() +","+ task.getPriority() + ",\"" + task.getName() + "\", array(";
+        for (TMLTask task : tmlmapping.getMappedTasks()) {
+            node = iterator.next();
+            // int noOfCores;
+            declaration += task.getName() + "* task__" + task.getName() + " = new " + task.getName() + "(" + task.getID() + "," + task.getPriority() + ",\"" + task.getName() + "\", array(";
 
-            if (node instanceof HwCPU){
-                declaration+= ((HwCPU)node).nbOfCores;
+            if (node instanceof HwCPU) {
+                declaration += ((HwCPU) node).nbOfCores;
                 //declaration+= 1;
-                for (int cores=0; cores< ((HwCPU)node).nbOfCores; cores++){
-                //for (int cores=0; cores< 1; cores++){
-                    declaration+= "," + node.getName()+cores;
+                for (int cores = 0; cores < ((HwCPU) node).nbOfCores; cores++) {
+                    //for (int cores=0; cores< 1; cores++){
+                    declaration += "," + node.getName() + cores;
                 }
                 //declaration+= ")," + ((HwCPU)node).nbOfCores + CR;
-                declaration+= "),1" + CR;
-            }else if (node instanceof HwA){
-                declaration+= ((HwCPU)node).nbOfCores;
+                declaration += "),1" + CR;
+            } else if (node instanceof HwA) {
+                declaration += ((HwCPU) node).nbOfCores;
                 //declaration+= 1;
-                for (int cores=0; cores< ((HwCPU)node).nbOfCores; cores++){
-                //for (int cores=0; cores< 1; cores++){
-                    declaration+= "," + node.getName()+cores;
+                for (int cores = 0; cores < ((HwCPU) node).nbOfCores; cores++) {
+                    //for (int cores=0; cores< 1; cores++){
+                    declaration += "," + node.getName() + cores;
                 }
-                declaration+= ")," + ((HwCPU)node).nbOfCores + CR;
+                declaration += ")," + ((HwCPU) node).nbOfCores + CR;
                 //declaration+= "),1" + CR;
             } else {
                 declaration += "1," + node.getName() + "),1" + CR;
@@ -459,21 +463,21 @@ public class TML2MappingSystemC implements IDiploSimulatorCodeGenerator {
             //mst.generateSystemC(debug, optimize, dependencies);
             //mst.generateSystemC(debug, optimize);
             tasks.add(mst);
-            for(TMLChannel channelb: channels)
-                declaration += "," + channelb.getExtendedName()+CR;
+            for (TMLChannel channelb : channels)
+                declaration += "," + channelb.getExtendedName() + CR;
 
-            for(TMLEvent evt: events)
-                declaration += "," + evt.getExtendedName()+CR;
+            for (TMLEvent evt : events)
+                declaration += "," + evt.getExtendedName() + CR;
 
-            for(TMLRequest req: requests)
-                if (req.isAnOriginTask(task)) declaration+=",reqChannel_" + req.getDestinationTask().getName()+CR;
+            for (TMLRequest req : requests)
+                if (req.isAnOriginTask(task)) declaration += ",reqChannel_" + req.getDestinationTask().getName() + CR;
 
-            if (task.isRequested()) declaration += ",reqChannel_"+task.getName()+CR;
+            if (task.isRequested()) declaration += ",reqChannel_" + task.getName() + CR;
             declaration += ")" + SCCR;
-            declaration += "addTask(task__"+ task.getName() +")"+ SCCR;
+            declaration += "addTask(task__" + task.getName() + ")" + SCCR;
         }
         //int[] aStatistics = new int[8];
-        
+
         declaration += "}\n\n";
 
         //Declaration of TEPEs
@@ -483,7 +487,7 @@ public class TML2MappingSystemC implements IDiploSimulatorCodeGenerator {
         declaration += tepeTranslator.getCode();
 
         //Generation of tasks
-        for(MappedSystemCTask task: tasks){
+        for (MappedSystemCTask task : tasks) {
             task.determineCheckpoints(aStatistics);
             task.generateSystemC(debug, optimize);
         }
@@ -491,12 +495,13 @@ public class TML2MappingSystemC implements IDiploSimulatorCodeGenerator {
         //Declaration of TEPEs continued
         declaration += CR;
         declaration += "}\n};\n\n" + tepeTranslator.getEqFuncs();
-        declaration +="#include <main.h>\n";
+        declaration += "#include <main.h>\n";
 
-        if (aStatistics[0]!=0) TraceManager.addDev("Global gain variables " + 100 * aStatistics[1] / aStatistics[0]);
-        if (aStatistics[2]!=0) TraceManager.addDev("Global gain Channels " + 100 * aStatistics[3] / aStatistics[2]);
-        if (aStatistics[4]!=0) TraceManager.addDev("Global gain events " + 100 * aStatistics[5] / aStatistics[4]);
-        if (aStatistics[6]!=0) TraceManager.addDev("Global gain checkpoints " + 100 * aStatistics[7] / aStatistics[6]);
+        if (aStatistics[0] != 0) TraceManager.addDev("Global gain variables " + 100 * aStatistics[1] / aStatistics[0]);
+        if (aStatistics[2] != 0) TraceManager.addDev("Global gain Channels " + 100 * aStatistics[3] / aStatistics[2]);
+        if (aStatistics[4] != 0) TraceManager.addDev("Global gain events " + 100 * aStatistics[5] / aStatistics[4]);
+        if (aStatistics[6] != 0)
+            TraceManager.addDev("Global gain checkpoints " + 100 * aStatistics[7] / aStatistics[6]);
 
         //Declaration of EBRDDs
         /*declaration += "//Declaration of EBRDDs" + CR;
@@ -507,103 +512,101 @@ public class TML2MappingSystemC implements IDiploSimulatorCodeGenerator {
     }
 
 
-    private int extractPath(LinkedList<HwCommunicationNode> path, StrWrap masters, StrWrap slaves, HwNode startNode, HwNode destNode, boolean reverseIn){
-        String firstPart=""; //lastBus="";
-        int masterCount=0;
-        boolean reverse=reverseIn;
+    private int extractPath(LinkedList<HwCommunicationNode> path, StrWrap masters, StrWrap slaves, HwNode startNode, HwNode destNode, boolean reverseIn) {
+        String firstPart = ""; //lastBus="";
+        int masterCount = 0;
+        boolean reverse = reverseIn;
         if (reverseIn)
-            slaves.str+=",static_cast<Slave*>(0)";
+            slaves.str += ",static_cast<Slave*>(0)";
         else
-            firstPart=startNode.getName() + "0";
+            firstPart = startNode.getName() + "0";
         /*TraceManager.addDev("------------------------------------------------------");
           for(HwCommunicationNode commElem:path){
           TraceManager.addDev("CommELem to process: " + commElem.getName());
           }
           TraceManager.addDev("------------------------------------------------------");*/
-        for(HwCommunicationNode commElem:path){
+        for (HwCommunicationNode commElem : path) {
             //TraceManager.addDev("CommELem to process: " + commElem.getName());
             //String commElemName = commElem.getName();
             //if (commElem instanceof HwCPU) commElemName += "0";
             //TraceManager.addDev("Next elem in path: " + commElem.getName());
-            if (commElem instanceof HwMemory){
-                reverse=true;
-                slaves.str+= ",static_cast<Slave*>(" + commElem.getName() + "),static_cast<Slave*>(" + commElem.getName() + ")";
+            if (commElem instanceof HwMemory) {
+                reverse = true;
+                slaves.str += ",static_cast<Slave*>(" + commElem.getName() + "),static_cast<Slave*>(" + commElem.getName() + ")";
                 //firstPart=lastBus;
-                firstPart="";
-            }else{
-                if (reverse){
-                    if (firstPart.length()==0){
-                        firstPart=commElem.getName();
+                firstPart = "";
+            } else {
+                if (reverse) {
+                    if (firstPart.length() == 0) {
+                        firstPart = commElem.getName();
                         //firstPart=commElemName;
-                    }else{
-                        masters.str+= "," + commElem.getName() + "_" + firstPart + "_Master";
+                    } else {
+                        masters.str += "," + commElem.getName() + "_" + firstPart + "_Master";
                         //masters.str+= "," + commElemName + "_" + firstPart + "_Master";
                         masterCount++;
-                        slaves.str+= ",static_cast<Slave*>(" + commElem.getName() + ")";
-                        firstPart="";
+                        slaves.str += ",static_cast<Slave*>(" + commElem.getName() + ")";
+                        firstPart = "";
                     }
-                }else{
-                    if (firstPart.length()==0){
-                        firstPart=commElem.getName();
-                        slaves.str+= ",static_cast<Slave*>(" + firstPart + ")";
-                    }else{
+                } else {
+                    if (firstPart.length() == 0) {
+                        firstPart = commElem.getName();
+                        slaves.str += ",static_cast<Slave*>(" + firstPart + ")";
+                    } else {
                         //lastBus=commElem.getName();
-                        masters.str+= "," + firstPart + "_" + commElem.getName() + "_Master";
+                        masters.str += "," + firstPart + "_" + commElem.getName() + "_Master";
                         masterCount++;
-                        firstPart="";
+                        firstPart = "";
                     }
                 }
             }
         }
-        if (reverse){
+        if (reverse) {
             //masters.str+= "," + destNode.getName() + "_" + firstPart + "_Master";
-            masters.str+= "," + destNode.getName() + "0_" + firstPart + "_Master";
-            return masterCount+1;
-        }else{
-            slaves.str+=",static_cast<Slave*>(0)";
+            masters.str += "," + destNode.getName() + "0_" + firstPart + "_Master";
+            return masterCount + 1;
+        } else {
+            slaves.str += ",static_cast<Slave*>(0)";
             return -masterCount;
         }
     }
 
-    private String determineRouting( HwNode startNode, HwNode destNode, TMLElement commElemToRoute ){
+    private String determineRouting(HwNode startNode, HwNode destNode, TMLElement commElemToRoute) {
 
         //TraceManager.addDev( "Determine routing from " + startNode.getName() + " to " + destNode.getName() );
-        StrWrap masters=new StrWrap(), slaves=new StrWrap();
+        StrWrap masters = new StrWrap(), slaves = new StrWrap();
         LinkedList<HwCommunicationNode> path = new LinkedList<HwCommunicationNode>();
         LinkedList<HwCommunicationNode> commNodes = new LinkedList<HwCommunicationNode>();
 
-        for( HwNode node: tmlmapping.getTMLArchitecture().getHwNodes() )        {
-            if( node instanceof HwCommunicationNode )   {
+        for (HwNode node : tmlmapping.getTMLArchitecture().getHwNodes()) {
+            if (node instanceof HwCommunicationNode) {
                 commNodes.add((HwCommunicationNode) node);
                 //TraceManager.addDev( "Inserted: " + ((HwCommunicationNode)node).getName() );
             }
         }
-        if( startNode == null ) {
-            TraceManager.addDev( "NULL REFERENCE" );
-        }
-        else    {
+        if (startNode == null) {
+            TraceManager.addDev("NULL REFERENCE");
+        } else {
             //TraceManager.addDev( "startNode: " + startNode.getName() );
         }
-        HwMemory memory = getMemConnectedToBusChannelMapped( commNodes, null, commElemToRoute );
-        if( memory == null )    {
-            TraceManager.addDev( "no memories to map" );
-            exploreBuses( 0, commNodes, path, startNode, destNode, commElemToRoute );
-        }
-        else    {
+        HwMemory memory = getMemConnectedToBusChannelMapped(commNodes, null, commElemToRoute);
+        if (memory == null) {
+            TraceManager.addDev("no memories to map");
+            exploreBuses(0, commNodes, path, startNode, destNode, commElemToRoute);
+        } else {
             LinkedList<HwCommunicationNode> commNodes2 = new LinkedList<HwCommunicationNode>(commNodes);
             //exploreBuses(0, commNodes, path, startNode, memory, commElemToRoute);
-            if( !exploreBuses( 0, commNodes, path, startNode, memory, commElemToRoute ) )       {
+            if (!exploreBuses(0, commNodes, path, startNode, memory, commElemToRoute)) {
                 TraceManager.addDev("NO route to " + memory.getName() + "found!!!!!!!!!!!!!!!!!!!!!!!!!!");
             }
-            path.add( memory );
-            exploreBuses( 0, commNodes2, path, memory, destNode, commElemToRoute );
+            path.add(memory);
+            exploreBuses(0, commNodes2, path, memory, destNode, commElemToRoute);
         }
         int hopNum;
-        if ( (hopNum=extractPath(path, masters, slaves, startNode, destNode, false))<0){
-            hopNum=extractPath(path, masters, slaves, destNode, destNode, true)-hopNum;
+        if ((hopNum = extractPath(path, masters, slaves, startNode, destNode, false)) < 0) {
+            hopNum = extractPath(path, masters, slaves, destNode, destNode, true) - hopNum;
         }
         TraceManager.addDev(commElemToRoute.getName() + " is mapped on:");
-        for(HwCommunicationNode commElem:path){
+        for (HwCommunicationNode commElem : path) {
             TraceManager.addDev(commElem.getName());
         }
         TraceManager.addDev("number of elements: " + hopNum);
@@ -612,27 +615,27 @@ public class TML2MappingSystemC implements IDiploSimulatorCodeGenerator {
         return hopNum + ",array(" + hopNum + masters.str + "),array(" + hopNum + slaves.str + ")";
     }
 
-    private boolean exploreBuses(int depth, LinkedList<HwCommunicationNode> commNodes, LinkedList<HwCommunicationNode> path, HwNode startNode, HwNode destNode, TMLElement commElemToRoute){
+    private boolean exploreBuses(int depth, LinkedList<HwCommunicationNode> commNodes, LinkedList<HwCommunicationNode> path, HwNode startNode, HwNode destNode, TMLElement commElemToRoute) {
         //first called with Maping:getCommunicationNodes
         LinkedList<HwCommunicationNode> nodesToExplore;
         TraceManager.addDev("No of comm nodes " + commNodes.size());
         TraceManager.addDev("startNode=" + startNode);
         boolean busExploreMode = ((depth & 1) == 0);
         //if (depth % 2 == 0){
-        if(busExploreMode){
+        if (busExploreMode) {
             TraceManager.addDev("search for buses connected to " + startNode.getName());
-            nodesToExplore=getBusesConnectedToNode(commNodes, startNode);
-        }else{
+            nodesToExplore = getBusesConnectedToNode(commNodes, startNode);
+        } else {
             TraceManager.addDev("search for bridges connected to: " + startNode.getName());
-            nodesToExplore=getBridgesConnectedToBus(commNodes, (HwBus)startNode);
+            nodesToExplore = getBridgesConnectedToBus(commNodes, (HwBus) startNode);
         }
         //HwMemory memory = null;
         TraceManager.addDev("no of elements found: " + nodesToExplore.size());
-        for(HwCommunicationNode currNode:nodesToExplore){
+        for (HwCommunicationNode currNode : nodesToExplore) {
             //memory = null;
-            if (busExploreMode){
+            if (busExploreMode) {
                 //memory = getMemConnectedToBusChannelMapped(commNodes, (HwBus)currNode, commElemToRoute);
-                if(isBusConnectedToNode(currNode, destNode)){
+                if (isBusConnectedToNode(currNode, destNode)) {
                     TraceManager.addDev(currNode.getName() + " is last node");
                     path.add(currNode);
                     //if (memory!=null) path.add(memory);
@@ -640,25 +643,25 @@ public class TML2MappingSystemC implements IDiploSimulatorCodeGenerator {
                     return true;
                 }
             }
-            if(tmlmapping.isCommNodeMappedOn(commElemToRoute, currNode)){
+            if (tmlmapping.isCommNodeMappedOn(commElemToRoute, currNode)) {
                 TraceManager.addDev(currNode.getName() + " mapping found for " + commElemToRoute.getName());
                 path.add(currNode);
                 //if (memory!=null) path.add(memory);
                 commNodes.remove(currNode);
-                if (exploreBuses(depth+1, commNodes, path, currNode, destNode, commElemToRoute)) return true;
+                if (exploreBuses(depth + 1, commNodes, path, currNode, destNode, commElemToRoute)) return true;
                 path.remove(currNode);
                 //if (memory!=null) path.remove(memory);
                 commNodes.add(currNode);
             }
         }
-        for(HwCommunicationNode currNode:nodesToExplore){
+        for (HwCommunicationNode currNode : nodesToExplore) {
             //if (busExploreMode) memory = getMemConnectedToBusChannelMapped(commNodes, (HwBus)currNode, commElemToRoute); else memory=null;
             path.add(currNode);
             //if (memory!=null) path.add(memory);
             commNodes.remove(currNode);
             //for (int i=0; i<path.size(); i++) System.out.print("  ");
             TraceManager.addDev(currNode.getName());
-            if (exploreBuses(depth+1, commNodes, path, currNode, destNode, commElemToRoute)) return true;
+            if (exploreBuses(depth + 1, commNodes, path, currNode, destNode, commElemToRoute)) return true;
             path.remove(currNode);
             //if (memory!=null) path.remove(memory);
             commNodes.add(currNode);
@@ -666,43 +669,45 @@ public class TML2MappingSystemC implements IDiploSimulatorCodeGenerator {
         return false;
     }
 
-    private HwMemory getMemConnectedToBusChannelMapped( LinkedList<HwCommunicationNode> _commNodes, HwBus _bus, TMLElement _channel )   {
-        for( HwCommunicationNode commNode: _commNodes ) {
-            if( commNode instanceof HwMemory )  {
-                if( _bus != null ) TraceManager.addDev(commNode.getName() + " connected to bus " + _bus.getName() + ": " + tmlmapping.getTMLArchitecture().isNodeConnectedToBus(commNode, _bus));
-                TraceManager.addDev(_channel.getName() + " is mapped onto " + commNode.getName() + ": " + tmlmapping.isCommNodeMappedOn(_channel,commNode));
-                if( ( _bus == null || tmlmapping.getTMLArchitecture().isNodeConnectedToBus( commNode, _bus ) )
-                    && tmlmapping.isCommNodeMappedOn( _channel, commNode ) )    {
-                    return (HwMemory)commNode;
+    private HwMemory getMemConnectedToBusChannelMapped(LinkedList<HwCommunicationNode> _commNodes, HwBus _bus, TMLElement _channel) {
+        for (HwCommunicationNode commNode : _commNodes) {
+            if (commNode instanceof HwMemory) {
+                if (_bus != null)
+                    TraceManager.addDev(commNode.getName() + " connected to bus " + _bus.getName() + ": " + tmlmapping.getTMLArchitecture().isNodeConnectedToBus(commNode, _bus));
+                TraceManager.addDev(_channel.getName() + " is mapped onto " + commNode.getName() + ": " + tmlmapping.isCommNodeMappedOn(_channel, commNode));
+                if ((_bus == null || tmlmapping.getTMLArchitecture().isNodeConnectedToBus(commNode, _bus))
+                        && tmlmapping.isCommNodeMappedOn(_channel, commNode)) {
+                    return (HwMemory) commNode;
                 }
             }
         }
         return null;
     }
 
-    private LinkedList<HwCommunicationNode> getBusesConnectedToNode(LinkedList<HwCommunicationNode> _commNodes, HwNode _node){
+    private LinkedList<HwCommunicationNode> getBusesConnectedToNode(LinkedList<HwCommunicationNode> _commNodes, HwNode _node) {
         LinkedList<HwCommunicationNode> resultList = new LinkedList<HwCommunicationNode>();
-        for(HwCommunicationNode commNode: _commNodes){
-            if (commNode instanceof HwBus){
-                if (tmlmapping.getTMLArchitecture().isNodeConnectedToBus(_node, (HwBus)commNode)) resultList.add(commNode);
+        for (HwCommunicationNode commNode : _commNodes) {
+            if (commNode instanceof HwBus) {
+                if (tmlmapping.getTMLArchitecture().isNodeConnectedToBus(_node, (HwBus) commNode))
+                    resultList.add(commNode);
             }
         }
         return resultList;
     }
 
-    private LinkedList<HwCommunicationNode> getBridgesConnectedToBus(LinkedList<HwCommunicationNode> _commNodes, HwBus _bus){
+    private LinkedList<HwCommunicationNode> getBridgesConnectedToBus(LinkedList<HwCommunicationNode> _commNodes, HwBus _bus) {
         LinkedList<HwCommunicationNode> resultList = new LinkedList<HwCommunicationNode>();
-        for(HwCommunicationNode commNode: _commNodes){
-            if (commNode instanceof HwBridge){
+        for (HwCommunicationNode commNode : _commNodes) {
+            if (commNode instanceof HwBridge) {
                 if (tmlmapping.getTMLArchitecture().isNodeConnectedToBus(commNode, _bus)) resultList.add(commNode);
             }
         }
         return resultList;
     }
 
-    private boolean isBusConnectedToNode(HwCommunicationNode commNode, HwNode node){
-        for(HwLink link: tmlmapping.getTMLArchitecture().getHwLinks()) {
-            if(link.bus==commNode &&  link.hwnode==node) return true;
+    private boolean isBusConnectedToNode(HwCommunicationNode commNode, HwNode node) {
+        for (HwLink link : tmlmapping.getTMLArchitecture().getHwLinks()) {
+            if (link.bus == commNode && link.hwnode == node) return true;
         }
         return false;
     }
@@ -725,7 +730,7 @@ public class TML2MappingSystemC implements IDiploSimulatorCodeGenerator {
       }*/
 
     private void generateTaskFiles(String path) throws FileException {
-        for(MappedSystemCTask mst: tasks) {
+        for (MappedSystemCTask mst : tasks) {
             mst.saveInFiles(path);
         }
         //for(SystemCEBRDD ebrdd: systemCebrdds) {
@@ -734,8 +739,8 @@ public class TML2MappingSystemC implements IDiploSimulatorCodeGenerator {
     }
 
 
-    public MappedSystemCTask getMappedTaskByName(String iName){
-        for(MappedSystemCTask task: tasks){
+    public MappedSystemCTask getMappedTaskByName(String iName) {
+        for (MappedSystemCTask task : tasks) {
             if (task.getTMLTask().getName().equals(iName)) return task;
         }
         return null;
diff --git a/src/main/java/ui/ErrorHighlight.java b/src/main/java/ui/ErrorHighlight.java
index 6ed3651017..69b4ddd655 100755
--- a/src/main/java/ui/ErrorHighlight.java
+++ b/src/main/java/ui/ErrorHighlight.java
@@ -37,8 +37,6 @@
  */
 
 
-
-
 package ui;
 
 
@@ -49,7 +47,7 @@ package ui;
  * @author Ludovic APVRILLE
  */
 public	class ErrorHighlight extends Exception {
-	public static final int UNCHECKED = 0;
+	//public static final int UNCHECKED = 0;
 	
 	public static final int OK = 1;
 	public static final int UNKNOWN = 2;
diff --git a/src/main/java/ui/JMenuBarTurtle.java b/src/main/java/ui/JMenuBarTurtle.java
index 448c131c8a..d352f504e2 100755
--- a/src/main/java/ui/JMenuBarTurtle.java
+++ b/src/main/java/ui/JMenuBarTurtle.java
@@ -37,8 +37,6 @@
  */
 
 
-
-
 package ui;
 
 import common.ConfigurationTTool;
@@ -51,12 +49,13 @@ import javax.swing.*;
 
 
 /**
-   * Class JMenuBarTurtle
-   * Creation: 09/12/2003
-   * Version 1.0 09/12/2003
-   * @author Ludovic APVRILLE
+ * Class JMenuBarTurtle
+ * Creation: 09/12/2003
+ * Version 1.0 09/12/2003
+ *
+ * @author Ludovic APVRILLE
  */
-public  class JMenuBarTurtle extends JMenuBar   {
+public class JMenuBarTurtle extends JMenuBar {
     private JMenu menugraph;
 
     //Menu
@@ -81,7 +80,7 @@ public  class JMenuBarTurtle extends JMenuBar   {
 
 
     // Menus
-    private     void buildMenus(MainGUI mgui) {
+    private void buildMenus(MainGUI mgui) {
         // Main menu
         file = new JMenu("File");
         edit = new JMenu("Edit");
@@ -103,7 +102,7 @@ public  class JMenuBarTurtle extends JMenuBar   {
         menuItem.addMouseListener(mgui.mouseHandler);
         menuItem = file.add(mgui.actions[TGUIAction.ACT_OPEN_PROJECT]);
         menuItem.addMouseListener(mgui.mouseHandler);
-	menuItem = file.add(mgui.actions[TGUIAction.ACT_OPEN_FROM_NETWORK]);
+        menuItem = file.add(mgui.actions[TGUIAction.ACT_OPEN_FROM_NETWORK]);
         menuItem.addMouseListener(mgui.mouseHandler);
         menuItem = file.add(mgui.actions[TGUIAction.ACT_SAVE]);
         menuItem.addMouseListener(mgui.mouseHandler);
@@ -420,7 +419,7 @@ public  class JMenuBarTurtle extends JMenuBar   {
 
         menuItem = vAndV.add(mgui.actions[TGUIAction.ACT_GEN_RTLOTOS]);
         menuItem.addMouseListener(mgui.mouseHandler);
-	
+
 
         if (MainGUI.lotosOn) {
             menuItem = vAndV.add(mgui.actions[TGUIAction.ACT_GEN_LOTOS]);
@@ -581,7 +580,7 @@ public  class JMenuBarTurtle extends JMenuBar   {
         menuItem.addMouseListener(mgui.mouseHandler);
         menuItem = capture.add(mgui.actions[TGUIAction.ACT_ALL_DIAGRAM_CAPTURE]);
         menuItem.addMouseListener(mgui.mouseHandler);
-	menuItem = capture.add(mgui.actions[TGUIAction.ACT_ALL_DIAGRAM_CAPTURE_SVG]);
+        menuItem = capture.add(mgui.actions[TGUIAction.ACT_ALL_DIAGRAM_CAPTURE_SVG]);
         menuItem.addMouseListener(mgui.mouseHandler);
         menuItem = capture.add(mgui.actions[TGUIAction.ACT_SELECTED_CAPTURE]);
         menuItem.addMouseListener(mgui.mouseHandler);
diff --git a/src/main/java/ui/MainGUI.java b/src/main/java/ui/MainGUI.java
index 7d67261309..3a4d063ea6 100644
--- a/src/main/java/ui/MainGUI.java
+++ b/src/main/java/ui/MainGUI.java
@@ -703,14 +703,14 @@ public  class MainGUI implements ActionListener, WindowListener, KeyListener, Pe
     }
 
     public void minimizeRG(RG toBeMinimized) {
-        JFrameMinimize jfm = new JFrameMinimize(frame, this, "Graph minimization", toBeMinimized);
+        JFrameMinimize jfm = new JFrameMinimize(frame, this, "Graph minimization", toBeMinimized, SpecConfigTTool.TGraphPath);
         //jfm.setSize(900, 700);
         GraphicLib.centerOnParent(jfm, 900, 700);
         jfm.setVisible(true);
     }
 
     public void makeRefusalGraph(RG inputGraph) {
-        JFrameRefusalGraph jfm = new JFrameRefusalGraph(frame, this, "Test Sequences Construction", inputGraph);
+        JFrameRefusalGraph jfm = new JFrameRefusalGraph(frame, this, "Test Sequences Construction", inputGraph, SpecConfigTTool.TGraphPath);
         //jfm.setSize(900, 700);
         GraphicLib.centerOnParent(jfm, 900, 700);
         jfm.setVisible(true);
diff --git a/src/main/java/ui/TGUIAction.java b/src/main/java/ui/TGUIAction.java
index 934ce8592b..897f0388a2 100755
--- a/src/main/java/ui/TGUIAction.java
+++ b/src/main/java/ui/TGUIAction.java
@@ -688,7 +688,7 @@ public class TGUIAction extends AbstractAction {
         actions[ACT_NEW_ANALYSIS] = new TAction("new-command-analysis", "New analysis", IconManager.imgic17, IconManager.imgic17, "New analysis", "New TURTLE analysis", 0);
         actions[ACT_OPEN] = new TAction("open-command","Open", IconManager.imgic22, IconManager.imgic23, "Open", "Open an existing TTool model",'O', true);
         actions[ACT_OPEN_PROJECT] = new TAction("open-project-command","Open project", IconManager.imgic22, IconManager.imgic23, "Open project", "Open an existing TTool project",'O', true);
-        actions[ACT_OPEN_FROM_NETWORK] = new TAction("open-command-from-network","Open from TTool repository", IconManager.imgic22, IconManager.imgic23, "Open from TTool repository", "Open an existing TTool model from the TTool repository (TTool website)",'0', true);
+        actions[ACT_OPEN_FROM_NETWORK] = new TAction("open-command-from-network","Open project from TTool repository", IconManager.imgic22, IconManager.imgic23, "Open project from TTool repository", "Open an existing TTool model from the TTool repository (TTool website)",'0', true);
         actions[ACT_OPEN_LAST] = new TAction("openlast-command","Open file: " + ConfigurationTTool.LastOpenFile, IconManager.imgic22, IconManager.imgic23, "Open: " + ConfigurationTTool.LastOpenFile, "Open the lastly saved TTool model", 0);
         actions[ACT_MERGE] = new TAction("merge-command","Merge", IconManager.imgic22, IconManager.imgic23, "Merge", "Merge the current TTool modeling with another one saved in a file ", 0);
         actions[ACT_SAVE] = new TAction("save-command", "Save",IconManager.imgic24, IconManager.imgic25, "Save", "Save an opened or a new TTool modeling", 'S', true);
diff --git a/src/main/java/ui/graph/AUTGraph.java b/src/main/java/ui/graph/AUTGraph.java
index a9a21d2526..2e664ef0ba 100755
--- a/src/main/java/ui/graph/AUTGraph.java
+++ b/src/main/java/ui/graph/AUTGraph.java
@@ -37,8 +37,6 @@
  */
 
 
-
-
 package ui.graph;
 
 import myutil.Conversion;
@@ -50,14 +48,15 @@ import java.io.StringReader;
 import java.util.*;
 
 /**
-   * Class AUTGraph
-   * Creation : 16/09/2004
-   ** @version 1.0 16/09/2004
-   * @author Ludovic APVRILLE
+ * Class AUTGraph
+ * Creation : 16/09/2004
+ * * @version 1.0 16/09/2004
+ *
+ * @author Ludovic APVRILLE
  */
 public class AUTGraph implements myutil.Graph {
 
-    protected ArrayList<AUTTransition> transitions ;
+    protected ArrayList<AUTTransition> transitions;
     protected ArrayList<AUTState> states;
     protected int nbState;
     protected BufferedReader br;
@@ -68,22 +67,22 @@ public class AUTGraph implements myutil.Graph {
     protected boolean statesComputed;
 
     protected static String STYLE_SHEET =
-        "node {" +
-        "       fill-color: blue;" +
-        "} " +
-        //          "edge.defaultedge {" +
-        //  "   shape: cubic-curve;" +
-        //   "}" +
-        //    "edge {shape: cubic-curve}" +
-        "edge.external {" +
-        "       text-style: bold;" +
-        "} " +
-        "node.deadlock {" +
-        "       fill-color: green;" +
-        "} " +
-        "node.init {" +
-        "       fill-color: red;" +
-        "} ";
+            "node {" +
+                    "       fill-color: blue;" +
+                    "} " +
+                    //          "edge.defaultedge {" +
+                    //  "   shape: cubic-curve;" +
+                    //   "}" +
+                    //    "edge {shape: cubic-curve}" +
+                    "edge.external {" +
+                    "       text-style: bold;" +
+                    "} " +
+                    "node.deadlock {" +
+                    "       fill-color: green;" +
+                    "} " +
+                    "node.init {" +
+                    "       fill-color: red;" +
+                    "} ";
 
     public AUTGraph() {
         transitions = new ArrayList<AUTTransition>();
@@ -123,7 +122,7 @@ public class AUTGraph implements myutil.Graph {
         /* read header */
         //System.out.println("Building graph");
         try {
-            while((s = br.readLine()) != null) {
+            while ((s = br.readLine()) != null) {
                 index1 = s.indexOf("des");
                 //System.out.println("Searching for des");
                 if (index1 == 0) {
@@ -158,19 +157,19 @@ public class AUTGraph implements myutil.Graph {
         /* read transitions */
         try {
             cpt = 0;
-            mod = Math.max(1, (int)(nbTransition / 100));
+            mod = Math.max(1, (int) (nbTransition / 100));
 
 
-            while((s = br.readLine()) != null) {
+            while ((s = br.readLine()) != null) {
                 //System.out.println("realine:" + s);
                 array = AUTGraph.decodeLine(s);
                 at = new AUTTransition(array[0], array[1], array[2]);
                 transitions.add(at);
                 hasExitTransition[at.origin] = true;
                 hasEntryTransition[at.destination] = true;
-                cpt ++;
+                cpt++;
                 if ((cpt % mod) == 0) {
-                    percentage = (int)((cpt *100) / nbTransition);
+                    percentage = (int) ((cpt * 100) / nbTransition);
                     //System.out.println("percentage=" + percentage + "cpt=" + cpt + "nbTransition=" + nbTransition);
                 }
             }
@@ -186,8 +185,8 @@ public class AUTGraph implements myutil.Graph {
 
         index1 = s.indexOf("(");
         index2 = s.indexOf(",");
-        s1 = s.substring(index1+1, index2);
-        s = s.substring(index2 +1, s.length());
+        s1 = s.substring(index1 + 1, index2);
+        s = s.substring(index2 + 1, s.length());
         s = Conversion.removeFirstSpaces(s);
 
         // for of the action
@@ -199,7 +198,7 @@ public class AUTGraph implements myutil.Graph {
         index1 = s.indexOf("\"");
         if (index1 > -1) {
             //System.out.println("Guillemets on " + s);
-            s2 = s.substring(index1+1, s.length());
+            s2 = s.substring(index1 + 1, s.length());
             s2 = s2.substring(0, s2.indexOf("\""));
             //System.out.println("Guillemets on " + s2);
             /*index2 = s2.indexOf("(");
@@ -212,7 +211,7 @@ public class AUTGraph implements myutil.Graph {
             //System.out.println("No Guillemets on " + s);
             index1 = s.indexOf(",");
             if ((index2 = s.indexOf("(")) >= 0) {
-                s2 = s.substring(index2+1, index1-2);
+                s2 = s.substring(index2 + 1, index1 - 2);
             } else {
                 if ((index2 = s.indexOf("\"t\"")) >= 0) {
                     s2 = "t";
@@ -227,11 +226,11 @@ public class AUTGraph implements myutil.Graph {
         index1 = s.indexOf(",");
         //index2 = s.indexOf(")");
         //s2 = s.substring(0, index1-1);
-        s3 = s.substring(index1+1, s.length()-1);
+        s3 = s.substring(index1 + 1, s.length() - 1);
         s3 = Conversion.removeFirstSpaces(s3);
         //System.out.println("s1=" + s1 + " s2=" + s2 + " s3=" + s3);
 
-        String []array = new String[3];
+        String[] array = new String[3];
         array[0] = s1;
         array[1] = s2;
         array[2] = s3;
@@ -269,18 +268,17 @@ public class AUTGraph implements myutil.Graph {
     }
 
     public void addState(AUTState _st) {
-	states.add(_st);
+        states.add(_st);
     }
 
 
-
-    public int getNbPotentialDeadlocks(){
+    public int getNbPotentialDeadlocks() {
         int nb = 0;
 
-        for(int i=0; i<nbState; i++) {
+        for (int i = 0; i < nbState; i++) {
             if (hasEntryTransition(i)) {
                 if (!hasExitTransition(i)) {
-                    nb ++;
+                    nb++;
                 }
             }
         }
@@ -290,8 +288,8 @@ public class AUTGraph implements myutil.Graph {
 
     public String getActionTransition(int origin, int destination) {
 
-        for(AUTTransition aut1 : transitions) {
-            if ((aut1.origin == origin) &&  (aut1.destination == destination)){
+        for (AUTTransition aut1 : transitions) {
+            if ((aut1.origin == origin) && (aut1.destination == destination)) {
                 return aut1.transition;
             }
         }
@@ -318,8 +316,8 @@ public class AUTGraph implements myutil.Graph {
         }
 
 
-        for(AUTTransition aut1 : transitions) {
-            if ((aut1.origin == state) && (aut1.destination == destination)){
+        for (AUTTransition aut1 : transitions) {
+            if ((aut1.origin == state) && (aut1.destination == destination)) {
                 return true;
             }
         }
@@ -336,11 +334,11 @@ public class AUTGraph implements myutil.Graph {
         int[] states = new int[nbPotentialDeadlock];
         int index = 0;
 
-        for(int i=0; i<nbState; i++) {
+        for (int i = 0; i < nbState; i++) {
             if (hasEntryTransition(i)) {
                 if (!hasExitTransition(i)) {
                     states[index] = i;
-                    index ++;
+                    index++;
                 }
             }
         }
@@ -348,15 +346,15 @@ public class AUTGraph implements myutil.Graph {
         return states;
     }
 
-    public int [] shortestPathTo(int fromState, int targetState) {
+    public int[] shortestPathTo(int fromState, int targetState) {
         return GraphAlgorithms.ShortestPathFrom(this, fromState)[targetState].path;
     }
 
 
     public boolean hasTransitionWithAction(String action) {
 
-        for(AUTTransition aut1 : transitions) {
-            if (aut1.transition.compareTo(action) == 0){
+        for (AUTTransition aut1 : transitions) {
+            if (aut1.transition.compareTo(action) == 0) {
                 return true;
             }
         }
@@ -380,8 +378,8 @@ public class AUTGraph implements myutil.Graph {
 
     public String toAUTStringFormat() {
         StringBuffer graph = new StringBuffer("");
-        graph.append("des(0," +  nbTransition + "," + nbState + ")\n");
-        for(AUTTransition aut1 : transitions) {
+        graph.append("des(0," + nbTransition + "," + nbState + ")\n");
+        for (AUTTransition aut1 : transitions) {
             graph.append("(" + aut1.origin + ",\"" + aut1.transition + "\"," + aut1.destination + ")\n");
         }
         return graph.toString();
@@ -390,11 +388,11 @@ public class AUTGraph implements myutil.Graph {
 
     public String toFullString() {
         StringBuffer graph = new StringBuffer("Transitions:");
-        for(AUTTransition aut1 : transitions) {
+        for (AUTTransition aut1 : transitions) {
             graph.append(aut1.toString());
         }
         graph.append("\nstates:\n");
-        for(AUTState str: states) {
+        for (AUTState str : states) {
             graph.append(str.toString());
         }
         return graph.toString();
@@ -405,12 +403,12 @@ public class AUTGraph implements myutil.Graph {
         if (!statesComputed) {
             states = new ArrayList<AUTState>(nbState);
             AUTState state;
-            for(int i=0; i<nbState; i++) {
+            for (int i = 0; i < nbState; i++) {
                 state = new AUTState(i);
                 states.add(state);
             }
 
-            for(AUTTransition aut1 : transitions) {
+            for (AUTTransition aut1 : transitions) {
                 states.get(aut1.origin).addOutTransition(aut1);
                 states.get(aut1.destination).addInTransition(aut1);
             }
@@ -434,7 +432,7 @@ public class AUTGraph implements myutil.Graph {
 
     public HashSet<String> getAllActions() {
         HashSet<String> hs = new HashSet<String>();
-        for(AUTTransition tr: transitions) {
+        for (AUTTransition tr : transitions) {
             hs.add(tr.transition);
         }
         return hs;
@@ -442,7 +440,7 @@ public class AUTGraph implements myutil.Graph {
 
 
     public void reinitMet() {
-        for(AUTState state: states) {
+        for (AUTState state : states) {
             state.met = false;
         }
     }
@@ -450,7 +448,7 @@ public class AUTGraph implements myutil.Graph {
     public AUTState findFirstOriginState() {
         AUTState state;
 
-        for(int i=0; i<states.size(); i++) {
+        for (int i = 0; i < states.size(); i++) {
             state = states.get(i);
             //System.out.println("id=" + state.id + " transitions to me = " +state.inTransitions.size());
             if (state.inTransitions.size() == 0) {
@@ -464,13 +462,13 @@ public class AUTGraph implements myutil.Graph {
     public void putTransitionsFromInitFirst() {
         ArrayList<AUTTransition> tmp = new ArrayList<AUTTransition>();
 
-        for(AUTTransition aut1 : transitions) {
+        for (AUTTransition aut1 : transitions) {
             if (aut1.origin == 0) {
                 tmp.add(aut1);
             }
         }
 
-        for(AUTTransition aut2 : tmp) {
+        for (AUTTransition aut2 : tmp) {
             transitions.remove(aut2);
             transitions.add(0, aut2);
         }
@@ -489,7 +487,7 @@ public class AUTGraph implements myutil.Graph {
     public AUTGraph cloneMe() {
         AUTGraph newGraph = new AUTGraph();
         newGraph.setNbOfStates(getNbOfStates());
-        for(AUTTransition tr: transitions) {
+        for (AUTTransition tr : transitions) {
             AUTTransition newTr = new AUTTransition(tr.origin, tr.transition, tr.destination);
             newGraph.addTransition(newTr);
         }
@@ -502,12 +500,12 @@ public class AUTGraph implements myutil.Graph {
         String s = "tau";
 
         // mark all transitions as non tau
-        for(AUTTransition tr: transitions) {
+        for (AUTTransition tr : transitions) {
             tr.isTau = false;
         }
 
         // Mark all tau transitions as tau
-        for(AUTTransition tr: transitions) {
+        for (AUTTransition tr : transitions) {
 
             if (tr.transition.startsWith("i(")) {
                 tr.isTau = true;
@@ -520,17 +518,17 @@ public class AUTGraph implements myutil.Graph {
     }
 
 
-    public void minimize(String [] tauTransitions, boolean tauOnly) {
+    public void minimize(String[] tauTransitions, boolean tauOnly) {
         String s = "tau";
 
         // mark all transitions as non tau
-        for(AUTTransition tr: transitions) {
+        for (AUTTransition tr : transitions) {
             tr.isTau = false;
         }
 
         // Mark all tau transitions as tau
-        for(AUTTransition tr: transitions) {
-            for (int i=0; i<tauTransitions.length; i++) {
+        for (AUTTransition tr : transitions) {
+            for (int i = 0; i < tauTransitions.length; i++) {
                 if (tr.transition.compareTo(tauTransitions[i]) == 0) {
                     tr.isTau = true;
                     tr.transition = s;
@@ -562,7 +560,7 @@ public class AUTGraph implements myutil.Graph {
         AUTTransition tr;
         ArrayList<AUTState> toRemoveStates = new ArrayList<AUTState>();
         // Remove in case state with one outgoing and outgoing is tau -> remove tr
-        for(AUTState st: states) {
+        for (AUTState st : states) {
             if (st.outTransitions.size() == 1) {
                 tr = st.outTransitions.get(0);
                 if (tr.isTau) {
@@ -577,7 +575,7 @@ public class AUTGraph implements myutil.Graph {
 
                         // Must put all incoming transition to the first state
                         st1.inTransitions.remove(tr);
-                        for(AUTTransition trM: st1.inTransitions) {
+                        for (AUTTransition trM : st1.inTransitions) {
                             trM.destination = st.id;
                             st.inTransitions.add(trM);
                             //TraceManager.addDev("New in transitions " + trM);
@@ -586,7 +584,7 @@ public class AUTGraph implements myutil.Graph {
 
                         // Out transitions
                         st.outTransitions.clear();
-                        for(AUTTransition trM: st1.outTransitions) {
+                        for (AUTTransition trM : st1.outTransitions) {
                             st.outTransitions.add(trM);
                             trM.origin = st.id;
                             //TraceManager.addDev("New out transitions " + trM);
@@ -613,11 +611,11 @@ public class AUTGraph implements myutil.Graph {
         AUTTransition tr1, tr2, trtmp;
         AUTState st1, st2, sttmp;
         ArrayList<AUTState> toRemoveStates = new ArrayList<AUTState>();
-        AUTTransition [] ret;
+        AUTTransition[] ret;
         boolean modif = false;
 
         // Remove in case state with one outgoing and outgoing is tau -> remove transition
-        for(AUTState st: states) {
+        for (AUTState st : states) {
             ret = st.getAtLeastTwoOutTauTransitions();
             if (ret != null) {
                 tr1 = ret[0];
@@ -643,7 +641,7 @@ public class AUTGraph implements myutil.Graph {
                     st.outTransitions.remove(tr2);
 
                     // All transitions leaving st2 must now leave from st1 as well
-                    for (AUTTransition trf: st2.outTransitions) {
+                    for (AUTTransition trf : st2.outTransitions) {
                         trf.origin = st1.id;
                         st1.outTransitions.add(trf);
                     }
@@ -659,7 +657,6 @@ public class AUTGraph implements myutil.Graph {
         }
 
 
-
         return modif;
     }
 
@@ -671,7 +668,7 @@ public class AUTGraph implements myutil.Graph {
         boolean modif = false;
 
         // Remove stgate in case state with one outgoing and outgoing is tau
-        for(AUTState st: states) {
+        for (AUTState st : states) {
             if (st.hasOneIncomingTauAndOneFollower()) {
                 //We can remove the previous tau transaction, and the current state
                 tr1 = st.inTransitions.get(0);
@@ -696,7 +693,6 @@ public class AUTGraph implements myutil.Graph {
         }
 
 
-
         return modif;
     }
 
@@ -705,14 +701,14 @@ public class AUTGraph implements myutil.Graph {
         boolean modif = false;
 
         // Remove tr if it is duplicated
-        for(AUTState st: states) {
+        for (AUTState st : states) {
 
             // May modify the outTransitions list, and result in exception.
             // The try .. catch clause protects from this
             try {
                 if (st.outTransitions.size() > 1) {
-                    for(int i=0; i<st.outTransitions.size(); i++) {
-                        for(int j=i+1; j<st.outTransitions.size(); j++) {
+                    for (int i = 0; i < st.outTransitions.size(); i++) {
+                        for (int j = i + 1; j < st.outTransitions.size(); j++) {
                             AUTTransition tri = st.outTransitions.get(i);
                             AUTTransition trj = st.outTransitions.get(j);
                             if (tri.destination == trj.destination) {
@@ -730,7 +726,8 @@ public class AUTGraph implements myutil.Graph {
 
 
                 }
-            } catch (Exception e) {}
+            } catch (Exception e) {
+            }
         }
 
         return modif;
@@ -747,17 +744,17 @@ public class AUTGraph implements myutil.Graph {
         // Remove all states and adapt the id in the graph
         //TraceManager.addDev("nbState=" + nbState + " states size = " + states.size());
 
-        for(AUTState str: toRemoveStates) {
+        for (AUTState str : toRemoveStates) {
             // We need to remove all transitions of the removed state
             //TraceManager.addDev("Removing transitions of state:" + str.id + "\n" + toFullString());
-            for(AUTTransition trin: str.inTransitions) {
+            for (AUTTransition trin : str.inTransitions) {
                 transitions.remove(trin);
             }
-            for(AUTTransition trout: str.outTransitions) {
+            for (AUTTransition trout : str.outTransitions) {
                 transitions.remove(trout);
             }
 
-            for(AUTState state: states) {
+            for (AUTState state : states) {
                 state.removeAllTransitionsWithId(str.id);
             }
 
@@ -766,18 +763,18 @@ public class AUTGraph implements myutil.Graph {
             // Last state of the array?
             if (str.id == (nbState - 1)) {
                 //TraceManager.addDev("Last state " + str.id);
-                nbState --;
+                nbState--;
                 states.remove(str.id);
 
                 // str not at the end: we replace it with the last state
                 // We need to accordingly update
-            }  else  {
+            } else {
 
-                AUTState moved = states.get(nbState-1);
+                AUTState moved = states.get(nbState - 1);
                 //TraceManager.addDev("Moving state " + moved.id +  " to index " + str.id);
                 states.set(str.id, moved);
-                states.remove(nbState-1);
-                nbState --;
+                states.remove(nbState - 1);
+                nbState--;
                 //TraceManager.addDev("nbState=" + nbState + " states size = " + states.size());
                 /*AUTTransition tt = findTransitionWithId(nbState);
                   if (tt != null) {
@@ -800,11 +797,11 @@ public class AUTGraph implements myutil.Graph {
         boolean modif = false;
         boolean endState = false;
         // met is used to specify states that have a tau-path to a termination state
-        for(AUTState st1: states) {
+        for (AUTState st1 : states) {
             st1.met = false;
         }
 
-        for (AUTState st: states) {
+        for (AUTState st : states) {
             if ((st.id == 0) || (st.getNbInTransitions() > 0)) {
                 //TraceManager.addDev("  1. state " + st.id);
                 if (st.hasOutputTauTransition()) {
@@ -817,7 +814,7 @@ public class AUTGraph implements myutil.Graph {
                       TraceManager.addDev("\t" + tr);
                       }*/
 
-		    //TraceManager.addDev("State " + st.id + " can reach an end state with tau tr only?" + canReachAnEndStateWithTau);
+                    //TraceManager.addDev("State " + st.id + " can reach an end state with tau tr only?" + canReachAnEndStateWithTau);
                     st.met = canReachAnEndStateWithTau;
                     endState = endState || canReachAnEndStateWithTau;
                 }
@@ -825,7 +822,7 @@ public class AUTGraph implements myutil.Graph {
         }
 
         // Remove tr if it is duplicated
-        for(AUTState st: states) {
+        for (AUTState st : states) {
             // We ignore states with no input tr apart from the start state (id 0)
             //TraceManager.addDev("0. state " + st.id);
             if ((st.id == 0) || (st.getNbInTransitions() > 0)) {
@@ -833,7 +830,7 @@ public class AUTGraph implements myutil.Graph {
                 if (st.hasOutputTauTransition()) {
                     //TraceManager.addDev("  2. state " + st.id);
                     LinkedList<AUTTransition> nonTauTransitions = new LinkedList<AUTTransition>();
-		     getAllNonTauTransitionsFrom(st, nonTauTransitions);
+                    getAllNonTauTransitionsFrom(st, nonTauTransitions);
 
                     // Create these transitions in st if not yet existing
                     //TraceManager.addDev("Remove tau\n" + toFullString());
@@ -853,7 +850,7 @@ public class AUTGraph implements myutil.Graph {
         if (endState) {
             // We must see if at least one met state has output transitions
             boolean hasEndState = false;
-            for(AUTState st: states) {
+            for (AUTState st : states) {
                 if (st.met) {
                     if (st.outTransitions.size() > 0) {
                         hasEndState = true;
@@ -867,10 +864,10 @@ public class AUTGraph implements myutil.Graph {
                 AUTState endSt = new AUTState(newId);
                 states.add(endSt);
                 nbState = states.size();
-                for(AUTState st1: states) {
+                for (AUTState st1 : states) {
                     if (st1.met) {
                         if (st1.outTransitions.size() > 0) {
-			    //TraceManager.addDev("Adding an end tau to state " + st1.id);
+                            //TraceManager.addDev("Adding an end tau to state " + st1.id);
                             AUTTransition tr = new AUTTransition(st1.id, "tau", endSt.id);
                             tr.isTau = true;
                             transitions.add(tr);
@@ -913,7 +910,7 @@ public class AUTGraph implements myutil.Graph {
         }
 
         boolean ret = false;
-        for(AUTTransition at: st.outTransitions) {
+        for (AUTTransition at : st.outTransitions) {
             if (!(at.isTau)) {
                 nonTauTransitions.add(at);
             } else {
@@ -935,13 +932,13 @@ public class AUTGraph implements myutil.Graph {
 
         while (toExplore.size() > 0) {
             toExploreTmp.clear();
-            for(AUTState st: toExplore) {
+            for (AUTState st : toExplore) {
                 if (!(metStates.contains(st))) {
                     metStates.add(st);
                     if (st.getNbOutTransitions() == 0) {
                         ret = true;
                     } else {
-                        for(AUTTransition at: st.outTransitions) {
+                        for (AUTTransition at : st.outTransitions) {
                             if (!(at.isTau)) {
                                 nonTauTransitions.add(at);
                             } else {
@@ -961,7 +958,7 @@ public class AUTGraph implements myutil.Graph {
     }
 
     private AUTTransition findTransitionWithId(int id) {
-        for (AUTTransition tr: transitions) {
+        for (AUTTransition tr : transitions) {
             if ((tr.origin == id) || (tr.destination == id)) {
                 return tr;
             }
@@ -972,7 +969,7 @@ public class AUTGraph implements myutil.Graph {
 
     private void removeAllNonReachableStates() {
         // reset met of states
-        for(AUTState st1: states) {
+        for (AUTState st1 : states) {
             st1.met = false;
         }
 
@@ -982,12 +979,12 @@ public class AUTGraph implements myutil.Graph {
         LinkedList<AUTState> nextStatesToConsider = new LinkedList<AUTState>();
         statesToConsider.add(states.get(0));
 
-        while(statesToConsider.size() > 0) {
+        while (statesToConsider.size() > 0) {
             nextStatesToConsider.clear();
-            for(AUTState st: statesToConsider) {
+            for (AUTState st : statesToConsider) {
                 st.met = true;
-                cpt ++;
-                for(AUTTransition tr: st.outTransitions) {
+                cpt++;
+                for (AUTTransition tr : st.outTransitions) {
                     AUTState s = states.get(tr.destination);
                     if (!(s.met)) {
                         nextStatesToConsider.add(s);
@@ -1000,7 +997,7 @@ public class AUTGraph implements myutil.Graph {
 
         //TraceManager.addDev("Found " + cpt + " reachable states");
         ArrayList<AUTState> toRemoveStates = new ArrayList<AUTState>();
-        for(AUTState st2: states) {
+        for (AUTState st2 : states) {
             if (!(st2.met)) {
                 toRemoveStates.add(st2);
                 //TraceManager.addDev("Removing state: " + st2.id);
@@ -1022,7 +1019,7 @@ public class AUTGraph implements myutil.Graph {
         hasExitTransition = new boolean[nbState];
         hasEntryTransition = new boolean[nbState];
 
-        for(AUTTransition t: transitions) {
+        for (AUTTransition t : transitions) {
             hasExitTransition[t.origin] = true;
             hasEntryTransition[t.destination] = true;
         }
@@ -1033,7 +1030,7 @@ public class AUTGraph implements myutil.Graph {
 
         // Create the alphabet
         HashMap<String, AUTElement> alphabet = new HashMap<String, AUTElement>();
-        for(AUTTransition tr: transitions) {
+        for (AUTTransition tr : transitions) {
             AUTElement tmp = alphabet.get(tr.transition);
             if (tmp == null) {
                 AUTElement elt = new AUTElement(tr.transition);
@@ -1055,7 +1052,7 @@ public class AUTGraph implements myutil.Graph {
 
         // Create the first block that contains all states
         AUTBlock b0 = new AUTBlock();
-        for(AUTState st: states) {
+        for (AUTState st : states) {
             b0.addState(st);
         }
         b0.computeHash();
@@ -1063,7 +1060,7 @@ public class AUTGraph implements myutil.Graph {
 
 
         AUTBlock b0Test = new AUTBlock();
-        for(AUTState st: states) {
+        for (AUTState st : states) {
             b0Test.addState(st);
         }
         b0Test.computeHash();
@@ -1076,7 +1073,6 @@ public class AUTGraph implements myutil.Graph {
         }
 
 
-
         // Create the first partition containing only block B0
         AUTPartition partition = new AUTPartition();
         partition.addBlock(b0);
@@ -1093,8 +1089,8 @@ public class AUTGraph implements myutil.Graph {
         int maxIte = 1000;
 
         AUTPartition currentP;
-        while((w.size()>0) && (maxIte >0)) {
-            maxIte --;
+        while ((w.size() > 0) && (maxIte > 0)) {
+            maxIte--;
             currentP = w.partitions.get(0);
             w.partitions.remove(0);
 
@@ -1104,7 +1100,7 @@ public class AUTGraph implements myutil.Graph {
                 AUTBlock currentBlock = currentP.blocks.get(0);
                 //List<AUTElement> sortedAlphabet = new ArrayList<AUTElement>(alphabet.values());
                 //Collections.sort(sortedAlphabet);
-                for(AUTElement elt: sortedAlphabet) {
+                for (AUTElement elt : sortedAlphabet) {
                     //TraceManager.addDev("\n*** Considering alphabet element = " + elt.value);
                     //printConfiguration(partition, w);
                     // Look for states of the leading to another state by a = T
@@ -1115,7 +1111,7 @@ public class AUTGraph implements myutil.Graph {
 
                     LinkedList<AUTBlock> I = partition.getI(elt, T_minus1_elt_B);
                     //printI(I);
-                    for(AUTBlock blockX: I) {
+                    for (AUTBlock blockX : I) {
                         AUTBlock blockX1 = blockX.getStateIntersectWith(T_minus1_elt_B);
                         blockX1.computeHash();
                         AUTBlock blockX2 = blockX.getStateDifferenceWith(T_minus1_elt_B);
@@ -1138,7 +1134,7 @@ public class AUTGraph implements myutil.Graph {
                             X_X1_X2.addBlock(blockX1);
                             X_X1_X2.addBlock(blockX2);
                             //TraceManager.addDev("Test concat X1+X2=" + AUTBlock.concat(blockX1, blockX2));
-                            w.addPartition( X_X1_X2);
+                            w.addPartition(X_X1_X2);
                             //TraceManager.addDev("Modifying P and W:");
                             //printConfiguration(partition, w);
                             //TraceManager.addDev("-----------------\n");
@@ -1152,7 +1148,7 @@ public class AUTGraph implements myutil.Graph {
             }
 
             // Compound splitter
-            else if (currentP.blocks.size() == 3){
+            else if (currentP.blocks.size() == 3) {
                 //TraceManager.addDev("Complexe splitter (b, bi, bii) =" + currentP);
                 AUTBlock b = currentP.blocks.get(0);
                 AUTBlock bi = currentP.blocks.get(1);
@@ -1165,14 +1161,14 @@ public class AUTGraph implements myutil.Graph {
 
                 //TraceManager.addDev("B= " + b +  " bi=" + bi + " bii=" + bii);
 
-                for(AUTElement elt: sortedAlphabet) {
+                for (AUTElement elt : sortedAlphabet) {
                     //TraceManager.addDev("\n*** Considering alphabet element = " + elt.value);
                     //printConfiguration(partition, w);
                     AUTBlock T_minus1_elt_B = b.getMinus1(elt, states);
                     //TraceManager.addDev("T_minus1_elt_B=" + T_minus1_elt_B);
                     LinkedList<AUTBlock> I = partition.getI(elt, T_minus1_elt_B);
                     //printI(I);
-                    for(AUTBlock blockX: I) {
+                    for (AUTBlock blockX : I) {
                         // Compute block X1 = set of states in blockX that goes to Bi, but not to Bii
                         // with current action
                         AUTBlock blockX1 = new AUTBlock();
@@ -1185,7 +1181,7 @@ public class AUTGraph implements myutil.Graph {
                         // with current action
                         boolean b1, b2;
                         AUTBlock blockX3 = new AUTBlock();
-                        for(AUTState st: blockX.states) {
+                        for (AUTState st : blockX.states) {
                             b1 = blockX.leadsTo(bi, elt);
                             b2 = blockX.leadsTo(bii, elt);
                             if (b1 && !b2) {
@@ -1201,7 +1197,7 @@ public class AUTGraph implements myutil.Graph {
                         if ((blockX.compareTo(blockX1) == 0) || (blockX.compareTo(blockX2) == 0) || (blockX.compareTo(blockX2) == 0)) {
                             // do nothing
                             //TraceManager.addDev("Identical blocks! X");
-                        }  else  {
+                        } else {
                             //TraceManager.addDev("Non Identical blocks! X");
                             // Modifying partition
                             partition.removeBlock(blockX);
@@ -1271,14 +1267,14 @@ public class AUTGraph implements myutil.Graph {
         int stID = 1;
         // We create one state per block
         // We look to the block that contains state 0 and we create the state id = 0
-        for(AUTBlock bl: partition.blocks) {
+        for (AUTBlock bl : partition.blocks) {
             if (bl.hasState(0)) {
                 AUTState st0 = new AUTState(0);
                 blockToNewStates.put(bl, st0);
                 sts.add(0, st0);
             } else {
                 AUTState st = new AUTState(stID);
-                stID ++;
+                stID++;
                 blockToNewStates.put(bl, st);
                 sts.add(st);
             }
@@ -1287,16 +1283,16 @@ public class AUTGraph implements myutil.Graph {
         // We now need to create the transitions
         // We parse all states in blocks, and consider their transition
         // We look for the destination and create a transition accordingly
-        for(AUTBlock bl: partition.blocks) {
-            AUTState newOrigin =  blockToNewStates.get(bl);
-            for(AUTState src: bl.states) {
-                for(AUTTransition tr: src.outTransitions) {
+        for (AUTBlock bl : partition.blocks) {
+            AUTState newOrigin = blockToNewStates.get(bl);
+            for (AUTState src : bl.states) {
+                for (AUTTransition tr : src.outTransitions) {
                     AUTState newDestination = blockToNewStates.get(partition.getBlockWithState(tr.destination));
 
                     boolean foundSimilar = false;
                     AUTTransition newT = new AUTTransition(newOrigin.id, tr.transition, newDestination.id);
                     newT.elt = tr.elt;
-                    for(AUTTransition testT: trs) {
+                    for (AUTTransition testT : trs) {
                         if (testT.compareTo(newT) == 0) {
                             foundSimilar = true;
                             break;
@@ -1321,111 +1317,109 @@ public class AUTGraph implements myutil.Graph {
 
 
     public AUTGraph generateRefusalGraph() {
-	computeStates();
-	
-	AUTState currentState = new AUTState(0);
-	ArrayList<AUTState> newStates = new ArrayList<AUTState>();
-	ArrayList<AUTTransition> newTransitions = new ArrayList<AUTTransition>();
-	newStates.add(currentState);
-
-	// We go thru the graph, starting at state1. Each time we meet an already handled state, we stop.
-	HashSet<AUTState> metStates = new HashSet<AUTState>(); // in origin Graph
-	HashMap<AUTState, AUTState> toRefusalState = new HashMap<AUTState, AUTState>();
-	LinkedList<AUTState> toHandle = new LinkedList<AUTState>();
-	toHandle.add(states.get(0));
-	toRefusalState.put(states.get(0), currentState);
-
-	while(toHandle.size() > 0) {
-	    AUTState current = toHandle.get(0);
-	    toHandle.remove(0);
-	    metStates.add(current);
-	    AUTState currentRefusal = toRefusalState.get(current);
-	    if (currentRefusal == null) {
-		TraceManager.addDev("NULL current Refusal");
-	    } else {	
-		// For each possible transition, we create a new transition to a new destination state
-		for(AUTTransition tr: current.outTransitions) {
-		    // Create new transition. Is a new staqte necessary?
-		    AUTState destState = states.get(tr.destination);
-		    AUTState stRefusal;
-		    stRefusal = new AUTState(newStates.size());
-		    newStates.add(stRefusal);
-		    toRefusalState.put(destState, stRefusal);
-		    AUTTransition trRefusal = new AUTTransition(current.id, tr.transition, stRefusal.id);
-		    newTransitions.add(trRefusal);
-		    stRefusal.addInTransition(trRefusal);
-		    currentRefusal.addOutTransition(trRefusal);
-
-		    if (!metStates.contains(destState)) {
-			if (!(toHandle.contains(destState))) {
-			    toHandle.add(destState);
-			}
-		    }
-		    
-		}
-	    }
-	}
-	AUTGraph refusalGraph = new AUTGraph(newStates, newTransitions);
-	
-	return refusalGraph;
-    }
+        computeStates();
+
+        AUTState currentState = new AUTState(0);
+        ArrayList<AUTState> newStates = new ArrayList<AUTState>();
+        ArrayList<AUTTransition> newTransitions = new ArrayList<AUTTransition>();
+        newStates.add(currentState);
+
+        // We go thru the graph, starting at state1. Each time we meet an already handled state, we stop.
+        HashSet<AUTState> metStates = new HashSet<AUTState>(); // in origin Graph
+        HashMap<AUTState, AUTState> toRefusalState = new HashMap<AUTState, AUTState>();
+        LinkedList<AUTState> toHandle = new LinkedList<AUTState>();
+        toHandle.add(states.get(0));
+        toRefusalState.put(states.get(0), currentState);
+
+        while (toHandle.size() > 0) {
+            AUTState current = toHandle.get(0);
+            toHandle.remove(0);
+            metStates.add(current);
+            AUTState currentRefusal = toRefusalState.get(current);
+            if (currentRefusal == null) {
+                //TraceManager.addDev("NULL current Refusal");
+            } else {
+                // For each possible transition, we create a new transition to a new destination state
+                for (AUTTransition tr : current.outTransitions) {
+                    // Create new transition. Is a new staqte necessary?
+                    AUTState destState = states.get(tr.destination);
+                    AUTState stRefusal;
+                    stRefusal = new AUTState(newStates.size());
+                    newStates.add(stRefusal);
+                    toRefusalState.put(destState, stRefusal);
+                    AUTTransition trRefusal = new AUTTransition(current.id, tr.transition, stRefusal.id);
+                    newTransitions.add(trRefusal);
+                    stRefusal.addInTransition(trRefusal);
+                    currentRefusal.addOutTransition(trRefusal);
+
+                    if (!metStates.contains(destState)) {
+                        if (!(toHandle.contains(destState))) {
+                            toHandle.add(destState);
+                        }
+                    }
 
+                }
+            }
+        }
+        AUTGraph refusalGraph = new AUTGraph(newStates, newTransitions);
+
+        return refusalGraph;
+    }
 
 
     public AUTGraph makeTestSequencesFromRefusalGraph() {
-	ArrayList<AUTState> newStates = new ArrayList<AUTState>();
-	ArrayList<AUTTransition> newTransitions = new ArrayList<AUTTransition>();
-	AUTState firstState = new AUTState(0);
-	newStates.add(firstState);
-
-	// Take all termination states of the refusal graph and get the shortest path
-	// from the first state to this termination state
-	// Add this path as a new path of the new graph
-
-	computeStates();
-
-	DijkstraState[] allPaths = GraphAlgorithms.ShortestPathFrom(this, 0);
-
-	for(AUTState state: states) {
-	    if (state.isTerminationState()) {
-		int[] path = allPaths[state.id].path;
-		if (path != null) {
-		    AUTState currentStateN = firstState;
-		    // We create a corresponding path in the new graph.
-		    String s = "";
-		    for(int j=0; j<path.length; j++) {
-			s += path[j] + " ";
-		    }
-		    TraceManager.addDev("path=" + s);
-		    for(int i=1; i<path.length; i++) {
-			AUTState currentState = states.get(path[i-1]);
-			AUTState nextState = states.get(path[i]);
-			
-			AUTTransition tr = currentState.getTransitionTo(nextState.id);
-			TraceManager.addDev("Looking for transition");
-			if (tr != null) {
-			    // We need to create the destination state
-			    AUTState newDest = new AUTState(newStates.size());
-			    newStates.add(newDest);
-			    AUTTransition newTr = new AUTTransition(currentStateN.id, tr.transition, newDest.id);
-			    newTransitions.add(newTr);
-			    TraceManager.addDev("Adding transition:" + newTr);
-			    currentStateN = newDest;
-			} else {
-			    TraceManager.addDev(" -> null transitions");
-			}
-		    }
-		}
-	    }
-	}
-	
-
-
-	// Making the graph
-	AUTGraph testGraph = new AUTGraph(newStates, newTransitions);
-	
-	return testGraph;
-	
+        ArrayList<AUTState> newStates = new ArrayList<AUTState>();
+        ArrayList<AUTTransition> newTransitions = new ArrayList<AUTTransition>();
+        AUTState firstState = new AUTState(0);
+        newStates.add(firstState);
+
+        // Take all termination states of the refusal graph and get the shortest path
+        // from the first state to this termination state
+        // Add this path as a new path of the new graph
+
+        computeStates();
+
+        DijkstraState[] allPaths = GraphAlgorithms.ShortestPathFrom(this, 0);
+
+        for (AUTState state : states) {
+            if (state.isTerminationState()) {
+                int[] path = allPaths[state.id].path;
+                if (path != null) {
+                    AUTState currentStateN = firstState;
+                    // We create a corresponding path in the new graph.
+                    String s = "";
+                    for (int j = 0; j < path.length; j++) {
+                        s += path[j] + " ";
+                    }
+                    //TraceManager.addDev("path=" + s);
+                    for (int i = 1; i < path.length; i++) {
+                        AUTState currentState = states.get(path[i - 1]);
+                        AUTState nextState = states.get(path[i]);
+
+                        AUTTransition tr = currentState.getTransitionTo(nextState.id);
+                        //TraceManager.addDev("Looking for transition");
+                        if (tr != null) {
+                            // We need to create the destination state
+                            AUTState newDest = new AUTState(newStates.size());
+                            newStates.add(newDest);
+                            AUTTransition newTr = new AUTTransition(currentStateN.id, tr.transition, newDest.id);
+                            newTransitions.add(newTr);
+                            //TraceManager.addDev("Adding transition:" + newTr);
+                            currentStateN = newDest;
+                        } else {
+                            //TraceManager.addDev(" -> null transitions");
+                        }
+                    }
+                }
+            }
+        }
+
+
+        // Making the graph
+        AUTGraph testGraph = new AUTGraph(newStates, newTransitions);
+
+        return testGraph;
+
     }
 
 
@@ -1436,7 +1430,7 @@ public class AUTGraph implements myutil.Graph {
 
     private void printI(LinkedList<AUTBlock> I) {
         StringBuffer sb = new StringBuffer("I:");
-        for(AUTBlock b: I) {
+        for (AUTBlock b : I) {
             sb.append(" " + b);
         }
         TraceManager.addDev(sb.toString());
@@ -1444,6 +1438,4 @@ public class AUTGraph implements myutil.Graph {
     }
 
 
-
-
 }
diff --git a/src/main/java/ui/graph/RG.java b/src/main/java/ui/graph/RG.java
index af51fd2bdb..3552af6cbb 100755
--- a/src/main/java/ui/graph/RG.java
+++ b/src/main/java/ui/graph/RG.java
@@ -37,17 +37,16 @@
  */
 
 
-
-
 package ui.graph;
 
 import myutil.*;
 
 /**
-   * Class RG
-   * Creation : 07/12/2016
-   ** @version 1.0 07/12/2016
-   * @author Ludovic APVRILLE
+ * Class RG
+ * Creation : 07/12/2016
+ * * @version 1.0 07/12/2016
+ *
+ * @author Ludovic APVRILLE
  */
 public class RG {
 
@@ -55,66 +54,66 @@ public class RG {
     public AUTGraph graph;
     public String fileName;
     public String data;
-    public int nbOfStates = - 1;
+    public int nbOfStates = -1;
     public int nbOfTransitions = -1;
-    
+
     public RG(String _name) {
-	name = _name;
+        name = _name;
     }
 
     public String getToolTip() {
-	return name;
+        return name;
     }
 
     public String toString() {
-	if (nbOfStates == -1) {
-	    return name;
-	}
-	return name + " " + nbOfStates + " states, " + nbOfTransitions + " transitions";
+        if (nbOfStates == -1) {
+            return name;
+        }
+        return name + " " + nbOfStates + " states, " + nbOfTransitions + " transitions";
     }
 
     public RG generateRefusalGraph() {
-	if (graph == null) {
-	    if (data == null){
-		return null;
-	    }
-	    graph = new AUTGraph();
-	    graph.buildGraph(data);
-	}
-
-	TraceManager.addDev("Making Ref. G");
-	AUTGraph refusalGraph = graph.generateRefusalGraph();
-	//TraceManager.addDev("Null graph?");
-	if (refusalGraph == null) {
-	    TraceManager.addDev("Null graph...");
-	    return null;
-	}
-
-	RG ret = new RG(name+"_RF");
-	ret.graph = refusalGraph;
-	return ret;
+        if (graph == null) {
+            if (data == null) {
+                return null;
+            }
+            graph = new AUTGraph();
+            graph.buildGraph(data);
+        }
+
+        TraceManager.addDev("Making Ref. G");
+        AUTGraph refusalGraph = graph.generateRefusalGraph();
+        //TraceManager.addDev("Null graph?");
+        if (refusalGraph == null) {
+            TraceManager.addDev("Null graph...");
+            return null;
+        }
+
+        RG ret = new RG(name + "_RF");
+        ret.graph = refusalGraph;
+        return ret;
     }
 
     public RG generateTestSequences() {
-	if (graph == null) {
-	    if (data == null){
-		return null;
-	    }
-	    graph = new AUTGraph();
-	    graph.buildGraph(data);
-	}
-
-	TraceManager.addDev("Making Test sequences");
-	AUTGraph testSequencesGraph = graph.makeTestSequencesFromRefusalGraph();
-	//TraceManager.addDev("Null graph?");
-	if (testSequencesGraph == null) {
-	    TraceManager.addDev("Null graph...");
-	    return null;
-	}
-
-	RG ret = new RG(name+"_Test");
-	ret.graph = testSequencesGraph;
-	return ret;
+        if (graph == null) {
+            if (data == null) {
+                return null;
+            }
+            graph = new AUTGraph();
+            graph.buildGraph(data);
+        }
+
+        TraceManager.addDev("Making Test sequences");
+        AUTGraph testSequencesGraph = graph.makeTestSequencesFromRefusalGraph();
+        //TraceManager.addDev("Null graph?");
+        if (testSequencesGraph == null) {
+            TraceManager.addDev("Null graph...");
+            return null;
+        }
+
+        RG ret = new RG(name + "_Test");
+        ret.graph = testSequencesGraph;
+        return ret;
     }
 
 }
diff --git a/src/main/java/ui/tree/JDiagramTree.java b/src/main/java/ui/tree/JDiagramTree.java
index eb41174203..3ecc2a5b36 100755
--- a/src/main/java/ui/tree/JDiagramTree.java
+++ b/src/main/java/ui/tree/JDiagramTree.java
@@ -37,8 +37,6 @@
  */
 
 
-
-
 package ui.tree;
 
 //import java.awt.*;
@@ -71,10 +69,11 @@ import java.util.Set;
  * Class JDiagramTree
  * Dialog for managing attributes
  * Creation: 14/12/2003
- * @version 1.0 14/12/2003
+ *
  * @author Ludovic APVRILLE
+ * @version 1.0 14/12/2003
  */
-public class JDiagramTree extends javax.swing.JTree implements ActionListener, MouseListener, TreeExpansionListener, TreeSelectionListener, Runnable   {
+public class JDiagramTree extends javax.swing.JTree implements ActionListener, MouseListener, TreeExpansionListener, TreeSelectionListener, Runnable {
     private boolean toUpdate = false;
     private MainGUI mgui;
     private DiagramTreeModel dtm;
@@ -97,8 +96,9 @@ public class JDiagramTree extends javax.swing.JTree implements ActionListener, M
     protected GraphTree selectedGT;
 
 
-
-    /** Creates new form  */
+    /**
+     * Creates new form
+     */
     public JDiagramTree(MainGUI _mgui) {
         super(new DiagramTreeModel(_mgui));
 
@@ -122,7 +122,7 @@ public class JDiagramTree extends javax.swing.JTree implements ActionListener, M
     }
 
     public void updateNow() {
-        if(toUpdate) {
+        if (toUpdate) {
             forceUpdate();
         }
     }
@@ -135,7 +135,7 @@ public class JDiagramTree extends javax.swing.JTree implements ActionListener, M
     }
 
     public void mousePressed(MouseEvent e) {
-        if(SwingUtilities.isRightMouseButton(e)){
+        if (SwingUtilities.isRightMouseButton(e)) {
             if (e.isPopupTrigger()) myPopupEvent(e);
         }
     }
@@ -161,11 +161,11 @@ public class JDiagramTree extends javax.swing.JTree implements ActionListener, M
     private void myPopupEvent(MouseEvent e) {
         int x = e.getX();
         int y = e.getY();
-        JTree tree = (JTree)e.getSource();
+        JTree tree = (JTree) e.getSource();
         TreePath path = tree.getPathForLocation(x, y);
 
-	//TraceManager.addDev("Path=" + path);
-	
+        //TraceManager.addDev("Path=" + path);
+
         if (path == null)
             return;
 
@@ -175,8 +175,8 @@ public class JDiagramTree extends javax.swing.JTree implements ActionListener, M
 
         //TraceManager.addDev("Adding popup menu to " + obj.getClass() + "/" + obj);
 
-        if (obj instanceof GraphTree){
-            selectedGT = (GraphTree)obj;
+        if (obj instanceof GraphTree) {
+            selectedGT = (GraphTree) obj;
             if (popupGraphTree == null) {
                 popupGraphTree = new JPopupMenu();
                 jmiAddFromFile = new JMenuItem("Add graph from file (.aut)");
@@ -188,7 +188,7 @@ public class JDiagramTree extends javax.swing.JTree implements ActionListener, M
 
 
         if (obj instanceof RG) {
-            selectedRG = (RG)obj;
+            selectedRG = (RG) obj;
             if (popupTree == null) {
                 popupTree = new JPopupMenu();
                 jmiAnalyze = new JMenuItem("Analyze");
@@ -212,18 +212,18 @@ public class JDiagramTree extends javax.swing.JTree implements ActionListener, M
         }
     }
 
-    public synchronized void run(){
+    public synchronized void run() {
         checkPaths();
         Iterator<TreePath> l_keys = m_expandedTreePaths.iterator();
         TreePath l_path = null;
-        while(l_keys.hasNext()){
+        while (l_keys.hasNext()) {
             try {
                 l_path = l_keys.next();
                 TreePath parent = l_path.getParentPath();
                 //System.out.println("Path: " + l_path);
                 //System.out.println("Parent path: " + parent);
                 if ((l_path.getPathCount() == 2) || (m_expandedTreePaths.contains(parent))) {
-		    //TraceManager.addDev("Path=" + l_path);
+                    //TraceManager.addDev("Path=" + l_path);
                     expandPath(l_path);
                 }
             } catch (Exception e) {
@@ -240,7 +240,7 @@ public class JDiagramTree extends javax.swing.JTree implements ActionListener, M
     private void checkPaths() {
         TreePath l_path = null;
         Iterator<TreePath> l_keys = m_expandedTreePaths.iterator();
-        while(l_keys.hasNext()){
+        while (l_keys.hasNext()) {
             l_path = l_keys.next();
             if (!isAPathOf(l_path)) {
                 m_expandedTreePaths.remove(l_path);
@@ -250,11 +250,11 @@ public class JDiagramTree extends javax.swing.JTree implements ActionListener, M
     }
 
     private boolean isAPathOf(TreePath tp) {
-        if ((dtm ==null) || (tp == null)) {
+        if ((dtm == null) || (tp == null)) {
             return false;
         }
 
-        Object [] objs = tp.getPath();
+        Object[] objs = tp.getPath();
 
         if (objs.length == 0) {
             return false;
@@ -266,8 +266,8 @@ public class JDiagramTree extends javax.swing.JTree implements ActionListener, M
 
         int index;
 
-        for(int i=0; i<objs.length - 2; i++) {
-            index = dtm.getIndexOfChild(objs[i], objs[i+1]);
+        for (int i = 0; i < objs.length - 2; i++) {
+            index = dtm.getIndexOfChild(objs[i], objs[i + 1]);
             if (index == -1) {
                 return false;
             }
@@ -277,18 +277,17 @@ public class JDiagramTree extends javax.swing.JTree implements ActionListener, M
 
     }
 
-    public synchronized void update(){
+    public synchronized void update() {
         SwingUtilities.invokeLater(this);
     }
 
     public void treeExpanded(TreeExpansionEvent treeExpansionEvent) {
         TreePath tp = treeExpansionEvent.getPath();
         m_expandedTreePaths.add(tp);
-        Iterator<TreePath> l_keys = m_expandedTreePaths.iterator();
-        while(l_keys.hasNext()){
+        for (TreePath m_expandedTreePath : m_expandedTreePaths) {
             TreePath l_path = null;
             try {
-                l_path = l_keys.next();
+                l_path = m_expandedTreePath;
                 TreePath parent = l_path.getParentPath();
                 if ((l_path.getPathCount() == 1) || (m_expandedTreePaths.contains(parent))) {
                     expandPath(l_path);
@@ -304,9 +303,9 @@ public class JDiagramTree extends javax.swing.JTree implements ActionListener, M
     }
 
     public void expandMyPath(TreePath tp) {
-	//TraceManager.addDev("Path=" + tp);
-	expandPath(tp);
-     }
+        //TraceManager.addDev("Path=" + tp);
+        expandPath(tp);
+    }
 
     public void treeCollapsed(TreeExpansionEvent treeExpansionEvent) {
         m_expandedTreePaths.remove(treeExpansionEvent.getPath());
@@ -315,14 +314,14 @@ public class JDiagramTree extends javax.swing.JTree implements ActionListener, M
     public void valueChanged(TreeSelectionEvent treeSelectionEvent) {
         //TraceManager.addDev("Value changed");
 
-        if(getSelectionPaths() != null && getSelectionPaths().length >0 ){
+        if (getSelectionPaths() != null && getSelectionPaths().length > 0) {
             m_selectedTreePaths = getSelectionModel().getSelectionPaths();
         }
 
         TreePath tp = treeSelectionEvent.getNewLeadSelectionPath();
 
-	//TraceManager.addDev("Expanded path=" + tp);
-	
+        //TraceManager.addDev("Expanded path=" + tp);
+
         if (tp == null) {
             return;
         }
@@ -331,18 +330,18 @@ public class JDiagramTree extends javax.swing.JTree implements ActionListener, M
         Object o;
 
         if (nodeInfo instanceof TDiagramPanel) {
-            mgui.selectTab((TDiagramPanel)nodeInfo);
+            mgui.selectTab((TDiagramPanel) nodeInfo);
         } else if (nodeInfo instanceof TURTLEPanel) {
-            mgui.selectTab((TURTLEPanel)nodeInfo);
+            mgui.selectTab((TURTLEPanel) nodeInfo);
         } else if (nodeInfo instanceof TGComponent) {
             TGComponent tgc = (TGComponent) nodeInfo;
             mgui.selectTab(tgc.getTDiagramPanel());
             tgc.getTDiagramPanel().highlightTGComponent(tgc);
         } else if (nodeInfo instanceof Invariant) {
             //TraceManager.addDev("Click on invariant");
-            Invariant inv = (Invariant)nodeInfo;
+            Invariant inv = (Invariant) nodeInfo;
             mgui.setCurrentInvariant(inv);
-            for(int i=2; i< inv.getChildCount(); i++) {
+            for (int i = 2; i < inv.getChildCount(); i++) {
                 o = inv.getChild(i);
                 if (o instanceof TGComponent) {
                     TGComponent tgc1 = (TGComponent) (o);
@@ -350,14 +349,14 @@ public class JDiagramTree extends javax.swing.JTree implements ActionListener, M
                 }
 
                 if (o instanceof InvariantSynchro) {
-                    InvariantSynchro is = (InvariantSynchro)o;
+                    InvariantSynchro is = (InvariantSynchro) o;
                     is.getFrom().getTDiagramPanel().repaint();
                     is.getTo().getTDiagramPanel().repaint();
                 }
 
             }
         } else if (nodeInfo instanceof CheckingError) {
-            CheckingError ce = (CheckingError)nodeInfo;
+            CheckingError ce = (CheckingError) nodeInfo;
             TDiagramPanel tdp = null;
             if (ce instanceof UICheckingError) {
                 tdp = ((UICheckingError) ce).getTDiagramPanel();
@@ -371,7 +370,7 @@ public class JDiagramTree extends javax.swing.JTree implements ActionListener, M
                 mgui.selectTDiagramPanel(tdp);
             } else if (ce.getTClass() != null) {
                 mgui.selectTab(ce.getTClass().getName());
-            } else if(ce.getRelation() != null) {
+            } else if (ce.getRelation() != null) {
                 mgui.selectTab("Class diagram");
             } else if (ce instanceof TMLCheckingError && ((TMLCheckingError) ce).getTMLActivityElement() != null) {
                 TGComponent tgc = (TGComponent) ((TMLCheckingError) ce).getTMLActivityElement().getReferenceObject();
@@ -422,7 +421,7 @@ public class JDiagramTree extends javax.swing.JTree implements ActionListener, M
             if (ae.getSource() == jmiAddFromFile) {
 
                 //TraceManager.addDev("Adding graph from file");
-                String [] graph = mgui.loadAUTGraph();
+                String[] graph = mgui.loadAUTGraph();
                 if (graph != null) {
                     RG rg = new RG(graph[0]);
                     rg.fileName = graph[0];
diff --git a/src/main/java/ui/window/JDialogAvatarModelChecker.java b/src/main/java/ui/window/JDialogAvatarModelChecker.java
index 1f3f49304d..e222d9f2f0 100644
--- a/src/main/java/ui/window/JDialogAvatarModelChecker.java
+++ b/src/main/java/ui/window/JDialogAvatarModelChecker.java
@@ -37,8 +37,6 @@
  */
 
 
-
-
 package ui.window;
 
 import avatartranslator.AvatarSpecification;
@@ -67,21 +65,22 @@ import java.util.concurrent.TimeUnit;
  * Class JDialogAvatarModelChecker
  * Dialog for managing the model checking of avatar specifications
  * Creation: 1/06/2016
- * @version 1.1 1/06/2016
+ *
  * @author Ludovic APVRILLE
+ * @version 1.1 1/06/2016
  */
-public class JDialogAvatarModelChecker extends javax.swing.JFrame implements ActionListener, Runnable, MasterProcessInterface  {
-    private final static String [] INFOS = {"Not started", "Running", "Stopped by user", "Finished"};
-    private final static Color []  COLORS = {Color.darkGray, Color.magenta, Color.red, Color.blue};
+public class JDialogAvatarModelChecker extends javax.swing.JFrame implements ActionListener, Runnable, MasterProcessInterface {
+    private final static String[] INFOS = {"Not started", "Running", "Stopped by user", "Finished"};
+    private final static Color[] COLORS = {Color.darkGray, Color.magenta, Color.red, Color.blue};
 
 
-    public final static int REACHABILITY_ALL        = 1;
-    public final static int REACHABILITY_SELECTED   = 2;
-    public final static int REACHABILITY_NONE       = 3;
+    public final static int REACHABILITY_ALL = 1;
+    public final static int REACHABILITY_SELECTED = 2;
+    public final static int REACHABILITY_NONE = 3;
 
-    public final static int LIVENESS_ALL        = 4;
-    public final static int LIVENESS_SELECTED   = 5;
-    public final static int LIVENESS_NONE       = 6;
+    public final static int LIVENESS_ALL = 4;
+    public final static int LIVENESS_SELECTED = 5;
+    public final static int LIVENESS_NONE = 6;
 
 
     protected static String graphDir;
@@ -145,15 +144,15 @@ public class JDialogAvatarModelChecker extends javax.swing.JFrame implements Act
 
     private Thread t;
     private boolean go = false;
-  //  private boolean hasError = false;
+    //  private boolean hasError = false;
     private java.util.Timer timer;
     //protected boolean startProcess = false;
 
 
-
-
-    /** Creates new form  */
-    public JDialogAvatarModelChecker(Frame f, MainGUI _mgui, String title, AvatarSpecification _spec, String _graphDir, boolean _showLiveness)  {
+    /**
+     * Creates new form
+     */
+    public JDialogAvatarModelChecker(Frame f, MainGUI _mgui, String title, AvatarSpecification _spec, String _graphDir, boolean _showLiveness) {
         super(title);
 
         mgui = _mgui;
@@ -167,13 +166,13 @@ public class JDialogAvatarModelChecker extends javax.swing.JFrame implements Act
         }
 
         showLiveness = _showLiveness;
-	
+
         initComponents();
         myInitComponents();
         pack();
 
 	/*if ((mgui != null) && (spec != null)) {
-	    mgui.drawAvatarSpecification(spec);
+        mgui.drawAvatarSpecification(spec);
 	    }*/
 
         //getGlassPane().addMouseListener( new MouseAdapter() {});
@@ -241,9 +240,9 @@ public class JDialogAvatarModelChecker extends javax.swing.JFrame implements Act
         jp01.add(reachabilityAllStates, c01);
         reachabilities.add(reachabilityAllStates);
 
-        noReachability.setSelected(reachabilitySelected ==  REACHABILITY_NONE);
-        reachabilityCheckable.setSelected(reachabilitySelected ==  REACHABILITY_SELECTED);
-        reachabilityAllStates.setSelected(reachabilitySelected ==  REACHABILITY_ALL);
+        noReachability.setSelected(reachabilitySelected == REACHABILITY_NONE);
+        reachabilityCheckable.setSelected(reachabilitySelected == REACHABILITY_SELECTED);
+        reachabilityAllStates.setSelected(reachabilitySelected == REACHABILITY_ALL);
 
 
         // Liveness
@@ -251,41 +250,46 @@ public class JDialogAvatarModelChecker extends javax.swing.JFrame implements Act
 
         noLiveness = new JRadioButton("No liveness");
         noLiveness.addActionListener(this);
-        if (showLiveness) {jp01.add(noLiveness, c01);}
+        if (showLiveness) {
+            jp01.add(noLiveness, c01);
+        }
         liveness.add(noLiveness);
 
         livenessCheckable = new JRadioButton("Liveness of selected states");
         livenessCheckable.addActionListener(this);
-        if (showLiveness) {jp01.add(livenessCheckable, c01);}
+        if (showLiveness) {
+            jp01.add(livenessCheckable, c01);
+        }
         liveness.add(livenessCheckable);
 
         livenessAllStates = new JRadioButton("Liveness of all states");
         livenessAllStates.addActionListener(this);
-        if (showLiveness){jp01.add(livenessAllStates, c01);}
+        if (showLiveness) {
+            jp01.add(livenessAllStates, c01);
+        }
         liveness.add(livenessAllStates);
 
-        noLiveness.setSelected(livenessSelected ==  LIVENESS_NONE);
-        livenessCheckable.setSelected(livenessSelected ==  LIVENESS_SELECTED);
-        livenessAllStates.setSelected(livenessSelected ==  LIVENESS_ALL);
+        noLiveness.setSelected(livenessSelected == LIVENESS_NONE);
+        livenessCheckable.setSelected(livenessSelected == LIVENESS_SELECTED);
+        livenessAllStates.setSelected(livenessSelected == LIVENESS_ALL);
 
 
         // RG
         saveGraphAUT = new JCheckBox("Reachability Graph Generation", graphSelected);
         saveGraphAUT.addActionListener(this);
-	//saveGraphAUT.addSelectionListener(this);
+        //saveGraphAUT.addSelectionListener(this);
         jp01.add(saveGraphAUT, c01);
         graphPath = new JTextField(graphDir);
         jp01.add(graphPath, c01);
         saveGraphDot = new JCheckBox("Save RG in dotty:", graphSelectedDot);
         saveGraphDot.addActionListener(this);
-	//saveGraphDot.setEnebaled(false);
+        //saveGraphDot.setEnebaled(false);
         jp01.add(saveGraphDot, c01);
         graphPathDot = new JTextField(graphDirDot);
         jp01.add(graphPathDot, c01);
         c.add(jp01, BorderLayout.NORTH);
 
 
-
         jta = new ScrolledJTextArea();
         jta.setEditable(false);
         jta.setMargin(new Insets(10, 10, 10, 10));
@@ -388,7 +392,6 @@ public class JDialogAvatarModelChecker extends javax.swing.JFrame implements Act
         jpinfo.add(elapsedTime, c02);
 
 
-
         JPanel jp2 = new JPanel();
         jp2.add(start);
         jp2.add(stop);
@@ -400,10 +403,10 @@ public class JDialogAvatarModelChecker extends javax.swing.JFrame implements Act
 
     }
 
-    public void actionPerformed(ActionEvent evt)  {
+    public void actionPerformed(ActionEvent evt) {
         String command = evt.getActionCommand();
 
-        if (command.equals("Start"))  {
+        if (command.equals("Start")) {
             startProcess();
         } else if (command.equals("Stop")) {
             stopProcess();
@@ -445,7 +448,7 @@ public class JDialogAvatarModelChecker extends javax.swing.JFrame implements Act
         if (amc != null) {
             amc.stopModelChecking();
         }
-        mode =  STOPPED;
+        mode = STOPPED;
         setButtons();
         go = false;
         if (timer != null) {
@@ -476,26 +479,26 @@ public class JDialogAvatarModelChecker extends javax.swing.JFrame implements Act
     }
 
     public void run() {
- //       String cmd;
-   //     String list, data;
-     //   int cycle = 0;
+        //       String cmd;
+        //     String list, data;
+        //   int cycle = 0;
 
-     //   hasError = false;
+        //   hasError = false;
 
         TraceManager.addDev("Thread started");
-     //   File testFile;
+        //   File testFile;
         try {
             reinitValues();
             jta.append("Starting the model checker\n");
 
-	    if (generateDesignSelected) {
+            if (generateDesignSelected) {
                 TraceManager.addDev("Drawing non modified avatar spec");
                 if ((mgui != null) && (spec != null)) {
                     mgui.drawAvatarSpecification(spec);
                 }
             }
 
-	    
+
             amc = new AvatarModelChecker(spec);
             endDate = null;
             previousNbOfStates = 0;
@@ -510,11 +513,11 @@ public class JDialogAvatarModelChecker extends javax.swing.JFrame implements Act
 
             // Reachability
             int res;
-            if (reachabilitySelected ==  REACHABILITY_SELECTED) {
+            if (reachabilitySelected == REACHABILITY_SELECTED) {
                 res = amc.setReachabilityOfSelected();
                 jta.append("Reachability of " + res + " selected elements activated\n");
 
-                for(SpecificationReachability sr: amc.getReachabilities()){
+                for (SpecificationReachability sr : amc.getReachabilities()) {
                     handleReachability(sr.ref1, sr.result);
                     if (sr.ref2 != sr.ref1) {
                         handleReachability(sr.ref2, sr.result);
@@ -522,10 +525,10 @@ public class JDialogAvatarModelChecker extends javax.swing.JFrame implements Act
                 }
             }
 
-            if (reachabilitySelected ==  REACHABILITY_ALL) {
+            if (reachabilitySelected == REACHABILITY_ALL) {
                 res = amc.setReachabilityOfAllStates();
-                jta.append("Reachability of " + res +  " states activated\n");
-                for(SpecificationReachability sr: amc.getReachabilities()){
+                jta.append("Reachability of " + res + " states activated\n");
+                for (SpecificationReachability sr : amc.getReachabilities()) {
                     handleReachability(sr.ref1, sr.result);
                     if (sr.ref2 != sr.ref1) {
                         handleReachability(sr.ref2, sr.result);
@@ -544,7 +547,7 @@ public class JDialogAvatarModelChecker extends javax.swing.JFrame implements Act
 
             amc.startModelChecking();
             TraceManager.addDev("Model checking done");
-	    //TraceManager.addDev("RG:" + amc.statesToString() + "\n\n");
+            //TraceManager.addDev("RG:" + amc.statesToString() + "\n\n");
 
             if (generateDesignSelected) {
                 TraceManager.addDev("Drawing modified avatar spec");
@@ -561,12 +564,12 @@ public class JDialogAvatarModelChecker extends javax.swing.JFrame implements Act
             jta.append("Nb of states:" + amc.getNbOfStates() + "\n");
             jta.append("Nb of links:" + amc.getNbOfLinks() + "\n");
 
-            if ((reachabilitySelected ==  REACHABILITY_SELECTED) || (reachabilitySelected ==  REACHABILITY_ALL)) {
+            if ((reachabilitySelected == REACHABILITY_SELECTED) || (reachabilitySelected == REACHABILITY_ALL)) {
                 jta.append("\nReachabilities found:\n");
                 jta.append(amc.reachabilityToString());
 
                 // Back annotation on diagrams
-                for(SpecificationReachability sr: amc.getReachabilities()){
+                for (SpecificationReachability sr : amc.getReachabilities()) {
                     //TraceManager.addDev("Handing reachability of " + sr);
                     handleReachability(sr.ref1, sr.result);
                     if (sr.ref2 != sr.ref1) {
@@ -577,28 +580,28 @@ public class JDialogAvatarModelChecker extends javax.swing.JFrame implements Act
 
             //TraceManager.addDev(amc.toString());
             //TraceManager.addDev(amc.toString());
-	    DateFormat dateFormat = new SimpleDateFormat("_yyyyMMdd_HHmmss");
-	    Date date = new Date();
-	    String dateAndTime=dateFormat.format(date);
+            DateFormat dateFormat = new SimpleDateFormat("_yyyyMMdd_HHmmss");
+            Date date = new Date();
+            String dateAndTime = dateFormat.format(date);
 
             if (saveGraphAUT.isSelected()) {
-		graphAUT = amc.toAUT();
-		graphMode = GRAPH_OK;
-		//TraceManager.addDev("graph AUT=\n" + graph);
-		
-		String autfile;
-		if (graphPath.getText().indexOf("$") != -1) {
-		    autfile = Conversion.replaceAllChar(graphPath.getText(), '$', dateAndTime);
-		} else {
-		    autfile = graphPath.getText();
-		} 
-		
-		try {
+                graphAUT = amc.toAUT();
+                graphMode = GRAPH_OK;
+                //TraceManager.addDev("graph AUT=\n" + graph);
+
+                String autfile;
+                if (graphPath.getText().indexOf("$") != -1) {
+                    autfile = Conversion.replaceAllChar(graphPath.getText(), '$', dateAndTime);
+                } else {
+                    autfile = graphPath.getText();
+                }
+
+                try {
                     RG rg = new RG(autfile);
-                    rg.data = graphAUT;		   
+                    rg.data = graphAUT;
                     rg.fileName = autfile;
-		    rg.nbOfStates = amc.getNbOfStates();
-		    rg.nbOfTransitions = amc.getNbOfLinks();
+                    rg.nbOfStates = amc.getNbOfStates();
+                    rg.nbOfTransitions = amc.getNbOfLinks();
                     mgui.addRG(rg);
                     FileUtils.saveFile(autfile, graphAUT);
                     jta.append("Graph saved in " + autfile + "\n");
@@ -607,12 +610,12 @@ public class JDialogAvatarModelChecker extends javax.swing.JFrame implements Act
                 }
             }
             if (saveGraphDot.isSelected()) {
-		String dotfile;
-		if (graphPathDot.getText().indexOf("$") != -1) {
-		    dotfile = Conversion.replaceAllChar(graphPathDot.getText(), '$', dateAndTime);
-		} else {
-		    dotfile = graphPathDot.getText();
-		} 
+                String dotfile;
+                if (graphPathDot.getText().indexOf("$") != -1) {
+                    dotfile = Conversion.replaceAllChar(graphPathDot.getText(), '$', dateAndTime);
+                } else {
+                    dotfile = graphPathDot.getText();
+                }
                 try {
                     String graph = amc.toDOT();
                     //TraceManager.addDev("graph AUT=\n" + graph);
@@ -637,22 +640,22 @@ public class JDialogAvatarModelChecker extends javax.swing.JFrame implements Act
 
     protected void handleReachability(Object _o, SpecificationReachabilityType _res) {
         if (_o instanceof AvatarStateMachineElement) {
-            Object o = ((AvatarStateMachineElement)_o).getReferenceObject();
+            Object o = ((AvatarStateMachineElement) _o).getReferenceObject();
             if (o instanceof TGComponent) {
-                TGComponent tgc = (TGComponent)(o);
+                TGComponent tgc = (TGComponent) (o);
                 TraceManager.addDev("Reachability of tgc=" + tgc + " value=" + tgc.getValue() + " class=" + tgc.getClass());
-                switch(_res) {
-                case NOTCOMPUTED:
-                    tgc.setReachability(TGComponent.ACCESSIBILITY_UNKNOWN);
-                    tgc.setLiveness(TGComponent.ACCESSIBILITY_UNKNOWN);
-                    break;
-                case REACHABLE:
-                    tgc.setReachability(TGComponent.ACCESSIBILITY_OK);
-                    break;
-                case NONREACHABLE:
-                    tgc.setReachability(TGComponent.ACCESSIBILITY_KO);
-                    tgc.setLiveness(TGComponent.ACCESSIBILITY_KO);
-                    break;
+                switch (_res) {
+                    case NOTCOMPUTED:
+                        tgc.setReachability(TGComponent.ACCESSIBILITY_UNKNOWN);
+                        tgc.setLiveness(TGComponent.ACCESSIBILITY_UNKNOWN);
+                        break;
+                    case REACHABLE:
+                        tgc.setReachability(TGComponent.ACCESSIBILITY_OK);
+                        break;
+                    case NONREACHABLE:
+                        tgc.setReachability(TGComponent.ACCESSIBILITY_KO);
+                        tgc.setLiveness(TGComponent.ACCESSIBILITY_KO);
+                        break;
                 }
                 tgc.getTDiagramPanel().repaint();
             }
@@ -667,7 +670,7 @@ public class JDialogAvatarModelChecker extends javax.swing.JFrame implements Act
         graphSelected = saveGraphAUT.isSelected();
         graphPath.setEnabled(saveGraphAUT.isSelected());
         graphSelectedDot = saveGraphDot.isSelected();
-	saveGraphDot.setEnabled(saveGraphAUT.isSelected());
+        saveGraphDot.setEnabled(saveGraphAUT.isSelected());
         graphPathDot.setEnabled(saveGraphDot.isSelected() && saveGraphAUT.isSelected());
         if (generateDesign != null) {
             generateDesignSelected = generateDesign.isSelected();
@@ -677,38 +680,38 @@ public class JDialogAvatarModelChecker extends javax.swing.JFrame implements Act
 
         if (noReachability.isSelected()) {
             reachabilitySelected = REACHABILITY_NONE;
-        } else if ( reachabilityCheckable.isSelected()) {
+        } else if (reachabilityCheckable.isSelected()) {
             reachabilitySelected = REACHABILITY_SELECTED;
         } else {
             reachabilitySelected = REACHABILITY_ALL;
         }
 
-        switch(mode) {
-        case NOT_STARTED:
-            if ((reachabilitySelected == REACHABILITY_SELECTED) || (reachabilitySelected == REACHABILITY_ALL)  || graphSelected || graphSelectedDot) {
-                start.setEnabled(true);
-            } else {
+        switch (mode) {
+            case NOT_STARTED:
+                if ((reachabilitySelected == REACHABILITY_SELECTED) || (reachabilitySelected == REACHABILITY_ALL) || graphSelected || graphSelectedDot) {
+                    start.setEnabled(true);
+                } else {
+                    start.setEnabled(false);
+                }
+                stop.setEnabled(false);
+                close.setEnabled(true);
+                //setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR));
+                getGlassPane().setVisible(false);
+                break;
+            case STARTED:
                 start.setEnabled(false);
-            }
-            stop.setEnabled(false);
-            close.setEnabled(true);
-            //setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR));
-            getGlassPane().setVisible(false);
-            break;
-        case STARTED:
-            start.setEnabled(false);
-            stop.setEnabled(true);
-            close.setEnabled(false);
-            getGlassPane().setVisible(true);
-            //setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
-            break;
-        case STOPPED:
-        default:
-            start.setEnabled(false);
-            stop.setEnabled(false);
-            close.setEnabled(true);
-            getGlassPane().setVisible(false);
-            break;
+                stop.setEnabled(true);
+                close.setEnabled(false);
+                getGlassPane().setVisible(true);
+                //setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
+                break;
+            case STOPPED:
+            default:
+                start.setEnabled(false);
+                stop.setEnabled(false);
+                close.setEnabled(true);
+                getGlassPane().setVisible(false);
+                break;
         }
 
         show.setEnabled(graphMode == GRAPH_OK);
@@ -732,8 +735,8 @@ public class JDialogAvatarModelChecker extends javax.swing.JFrame implements Act
         try {
             if (amc != null) {
                 int nbOfStatess = amc.getNbOfStates();
-                nbOfStates.setText(""+nbOfStatess);
-                nbOfLinks.setText(""+amc.getNbOfLinks());
+                nbOfStates.setText("" + nbOfStatess);
+                nbOfLinks.setText("" + amc.getNbOfLinks());
 
                 // Reachability and deadlocks
                 int nb = amc.getNbOfReachabilities();
@@ -746,10 +749,10 @@ public class JDialogAvatarModelChecker extends javax.swing.JFrame implements Act
                 nbOfReachabilitiesNotFound.setText("" + nb);
 
 
-                nbOfDeadlocks.setText(""+amc.getNbOfDeadlocks());
+                nbOfDeadlocks.setText("" + amc.getNbOfDeadlocks());
 
 
-                nbOfPendingStates.setText(""+amc.getNbOfPendingStates());
+                nbOfPendingStates.setText("" + amc.getNbOfPendingStates());
                 Date d;
                 previousDate = new Date();
                 if (endDate != null) {
@@ -757,12 +760,12 @@ public class JDialogAvatarModelChecker extends javax.swing.JFrame implements Act
                 } else {
                     d = previousDate;
                 }
-                long duration  = d.getTime() - startDate.getTime();
-		long durationMn = TimeUnit.MILLISECONDS.toMinutes(duration);
-		long durationSec = TimeUnit.MILLISECONDS.toSeconds(duration) - durationMn*60;
-		long durationMs = duration - 1000*(durationSec - durationMn*60);
+                long duration = d.getTime() - startDate.getTime();
+                long durationMn = TimeUnit.MILLISECONDS.toMinutes(duration);
+                long durationSec = TimeUnit.MILLISECONDS.toSeconds(duration) - durationMn * 60;
+                long durationMs = duration - 1000 * (durationSec - durationMn * 60);
 
-		//TraceManager.addDev("mn=" + durationMn + " sec=" + durationSec + " ms=" + durationMs + " raw=" + duration);
+                //TraceManager.addDev("mn=" + durationMn + " sec=" + durationSec + " ms=" + durationMs + " raw=" + duration);
 
                 String t = String.format("%02d min %02d sec %03d msec", durationMn, durationSec, durationMs);
 
@@ -780,7 +783,7 @@ public class JDialogAvatarModelChecker extends javax.swing.JFrame implements Act
                 //if (diff == 0) {
 
 
-                nbOfStatesPerSecond.setText(""+1000*diff/duration);
+                nbOfStatesPerSecond.setText("" + 1000 * diff / duration);
 
                 updateInfo();
                 //}
@@ -821,6 +824,7 @@ public class JDialogAvatarModelChecker extends javax.swing.JFrame implements Act
 
     private class ModelCheckerMonitor extends TimerTask {
         private JDialogAvatarModelChecker jdamc;
+
         public ModelCheckerMonitor(JDialogAvatarModelChecker _jdamc) {
             jdamc = _jdamc;
         }
diff --git a/src/main/java/ui/window/JFrameMinimize.java b/src/main/java/ui/window/JFrameMinimize.java
index f2e4bb9029..3cc73fabea 100755
--- a/src/main/java/ui/window/JFrameMinimize.java
+++ b/src/main/java/ui/window/JFrameMinimize.java
@@ -37,15 +37,16 @@
  */
 
 
-
-
 package ui.window;
 
+import myutil.Conversion;
+import myutil.FileException;
+import myutil.FileUtils;
 import myutil.ScrolledJTextArea;
-import ui.util.IconManager;
 import ui.MainGUI;
 import ui.graph.AUTGraph;
 import ui.graph.RG;
+import ui.util.IconManager;
 
 import javax.swing.*;
 import javax.swing.event.ListSelectionEvent;
@@ -53,8 +54,12 @@ import javax.swing.event.ListSelectionListener;
 import java.awt.*;
 import java.awt.event.ActionEvent;
 import java.awt.event.ActionListener;
+import java.io.File;
+import java.text.DateFormat;
+import java.text.SimpleDateFormat;
 import java.util.ArrayList;
 import java.util.Collections;
+import java.util.Date;
 import java.util.HashSet;
 
 
@@ -62,31 +67,33 @@ import java.util.HashSet;
  * Class JFrameMinimize
  * Frame for handling the minimization of graphs
  * Creation: 09/12/2016
- * @version 1.0 09/12/2016
+ *
  * @author Ludovic APVRILLE
+ * @version 1.0 09/12/2016
  */
-public class JFrameMinimize extends javax.swing.JFrame implements ActionListener, ListSelectionListener, Runnable  {
+public class JFrameMinimize extends javax.swing.JFrame implements ActionListener, ListSelectionListener, Runnable {
     /*private static boolean isAldebaranSelected = false;
     private static boolean isOminSelected = false;
     private static boolean isStrongSelected = true;*/
 
-    
+    protected static boolean graphSelected = true;
+
     private MainGUI mgui;
     private RG rg;
     private RG newRG;
-    
+
     protected Thread t;
     protected boolean listOfActionsComputed = false;
-    java.util.List<String> sortedListProjected ;
+    java.util.List<String> sortedListProjected;
     java.util.List<String> sortedListIgnored;
 
     private int mode;
-    
+
     protected final static int NO_DATA = 0;
     protected final static int NOT_STARTED = 1;
     protected final static int STARTED = 2;
     protected final static int STOPPED = 3;
-    
+
     //subpanels
     private JPanel panel1, panel2, panel3, panel4;
     private JList<String> listIgnored;
@@ -96,38 +103,49 @@ public class JFrameMinimize extends javax.swing.JFrame implements ActionListener
     private JButton addOneIgnored;
     private JButton allIgnored;
     protected JTextArea jta;
-    
+
+    // Panel for graph saving
+    private JCheckBox saveGraphAUT;
+    private JTextField graphPath;
+    private String graphDir;
+
     private JCheckBox removeInternalActions;
     private JRadioButton tauOnly;
     private JRadioButton allMinimization;
-    
-    
+
+
     // Main Panel
     private JButton start, stop, close;
-    
-    /** Creates new form  */
-    public JFrameMinimize(Frame _f, MainGUI _mgui, String _title, RG _rg) {
+
+    /**
+     * Creates new form
+     */
+    public JFrameMinimize(Frame _f, MainGUI _mgui, String _title, RG _rg, String _graphDir) {
         super(_title);
-        
+
         mgui = _mgui;
-	rg = _rg;
-                
+        rg = _rg;
+
+        if (graphDir == null) {
+            graphDir = _graphDir + File.separator + "minimized$.aut";
+        }
+
         initComponents();
         myInitComponents();
         pack();
-        
+
         //getGlassPane().addMouseListener( new MouseAdapter() {});
         getGlassPane().setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
     }
-    
-    
+
+
     private void myInitComponents() {
         mode = NO_DATA;
         setButtons();
-	t = new Thread(this);
-	t.start();
+        t = new Thread(this);
+        t.start();
     }
-    
+
     private void initComponents() {
         Container c = getContentPane();
         GridBagLayout gridbag1 = new GridBagLayout();
@@ -137,51 +155,57 @@ public class JFrameMinimize extends javax.swing.JFrame implements ActionListener
         setFont(new Font("Helvetica", Font.PLAIN, 14));
         c.setLayout(new BorderLayout());
         setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
-        
+
         // ignored list
-        
+
         JPanel panelTop = new JPanel();
         panelTop.setLayout(new BorderLayout());
-        
+
         panel1 = new JPanel();
         panel1.setLayout(new BorderLayout());
         panel1.setBorder(new javax.swing.border.TitledBorder("Actions ignored"));
         listIgnored = new JList<String>();
         //listIgnored.setPreferredSize(new Dimension(200, 250));
-        listIgnored.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION );
+        listIgnored.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);
         listIgnored.addListSelectionListener(this);
         JScrollPane scrollPane1 = new JScrollPane(listIgnored);
         panel1.add(scrollPane1, BorderLayout.CENTER);
         panel1.setPreferredSize(new Dimension(300, 250));
         panelTop.add(panel1, BorderLayout.WEST);
-        
+
         // validated list
         panel2 = new JPanel();
         panel2.setLayout(new BorderLayout());
         panel2.setBorder(new javax.swing.border.TitledBorder("Actions taken into account"));
-        listProjected = new JList<String> ();
+        listProjected = new JList<String>();
         //listProjected.setPreferredSize(new Dimension(200, 250));
-        listProjected.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION );
+        listProjected.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);
         listProjected.addListSelectionListener(this);
         JScrollPane scrollPane2 = new JScrollPane(listProjected);
         panel2.add(scrollPane2, BorderLayout.CENTER);
         panel2.setPreferredSize(new Dimension(300, 250));
         panelTop.add(panel2, BorderLayout.EAST);
-        
+
         // radio buttons
         panel4 = new JPanel();
         panel4.setLayout(gridbag4);
         panel4.setBorder(new javax.swing.border.TitledBorder("Minimization: tools and options"));
+
+
+        saveGraphAUT = new JCheckBox("Save the minimized graph in AUT format", graphSelected);
+        //saveGraphAUT.addSelectionListener(this);
+        graphPath = new JTextField(graphDir);
+
         removeInternalActions = new JCheckBox("Remove internal actions");
         removeInternalActions.setEnabled(true);
-	tauOnly = new JRadioButton("Only remove tau transitions");
-	tauOnly.setEnabled(true);
-	allMinimization = new JRadioButton("Complete minimization [Experimental]");
-	allMinimization.setEnabled(true);
-	ButtonGroup bt = new ButtonGroup();
-	bt.add(tauOnly);
-	bt.add(allMinimization);
-	allMinimization.setSelected(true);
+        tauOnly = new JRadioButton("Only remove tau transitions");
+        tauOnly.setEnabled(true);
+        allMinimization = new JRadioButton("Complete minimization [Experimental]");
+        allMinimization.setEnabled(true);
+        ButtonGroup bt = new ButtonGroup();
+        bt.add(tauOnly);
+        bt.add(allMinimization);
+        allMinimization.setSelected(true);
 
         //c4.anchor = GridBagConstraints.EAST;
         c4.weighty = 1.0;
@@ -189,53 +213,56 @@ public class JFrameMinimize extends javax.swing.JFrame implements ActionListener
         c4.gridwidth = GridBagConstraints.REMAINDER; //end row
         c4.fill = GridBagConstraints.HORIZONTAL;
         c4.gridheight = 1;
+        panel4.add(saveGraphAUT, c4);
+        panel4.add(graphPath, c4);
+        panel4.add(allMinimization, c4);
         panel4.add(removeInternalActions, c4);
-	panel4.add(tauOnly, c4);
-	panel4.add(allMinimization, c4);
+        panel4.add(tauOnly, c4);
+        panel4.add(allMinimization, c4);
 
         panelTop.add(panel4, BorderLayout.SOUTH);
-        
-        
+
+
         // central buttons
         panel3 = new JPanel();
         panel3.setLayout(gridbag1);
-        
+
         c1.weighty = 1.0;
         c1.weightx = 1.0;
         c1.gridwidth = GridBagConstraints.REMAINDER; //end row
         c1.fill = GridBagConstraints.HORIZONTAL;
         c1.gridheight = 1;
-        
+
         allProjected = new JButton(IconManager.imgic50);
         allProjected.setPreferredSize(new Dimension(50, 25));
         allProjected.addActionListener(this);
         allProjected.setActionCommand("All");
         panel3.add(allProjected, c1);
-        
+
         addOneProjected = new JButton(IconManager.imgic48);
         addOneProjected.setPreferredSize(new Dimension(50, 25));
         addOneProjected.addActionListener(this);
         addOneProjected.setActionCommand("Add one");
         panel3.add(addOneProjected, c1);
-        
+
         panel3.add(new JLabel(" "), c1);
-        
+
         addOneIgnored = new JButton(IconManager.imgic46);
         addOneIgnored.addActionListener(this);
         addOneIgnored.setPreferredSize(new Dimension(50, 25));
         addOneIgnored.setActionCommand("One Ignored");
         panel3.add(addOneIgnored, c1);
-        
+
         allIgnored = new JButton(IconManager.imgic44);
         allIgnored.addActionListener(this);
         allIgnored.setPreferredSize(new Dimension(50, 25));
         allIgnored.setActionCommand("All Ignored");
         panel3.add(allIgnored, c1);
-        
+
         panelTop.add(panel3, BorderLayout.CENTER);
-        
+
         c.add(panelTop, BorderLayout.NORTH);
-        
+
         // textarea panel
         jta = new ScrolledJTextArea();
         jta.setEditable(false);
@@ -245,36 +272,44 @@ public class JFrameMinimize extends javax.swing.JFrame implements ActionListener
         Font f = new Font("Courrier", Font.BOLD, 12);
         jta.setFont(f);
         JScrollPane jsp = new JScrollPane(jta, JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
-        
+
         c.add(jsp, BorderLayout.CENTER);
-        
-        
+
+
         // Button panel;
+
+        JPanel southPanel = new JPanel(new BorderLayout());
+
+
+
+
         start = new JButton("Start", IconManager.imgic53);
         stop = new JButton("Stop", IconManager.imgic55);
         close = new JButton("Close", IconManager.imgic27);
-        
+
         start.setPreferredSize(new Dimension(150, 30));
         stop.setPreferredSize(new Dimension(150, 30));
         close.setPreferredSize(new Dimension(150, 30));
-        
+
         start.addActionListener(this);
         stop.addActionListener(this);
         close.addActionListener(this);
-        
+
         JPanel jp2 = new JPanel();
         jp2.add(start);
         jp2.add(stop);
         jp2.add(close);
-        
-        c.add(jp2, BorderLayout.SOUTH);
+
+        southPanel.add(jp2, BorderLayout.CENTER);
+
+        c.add(southPanel, BorderLayout.SOUTH);
     }
-    
-    public void	actionPerformed(ActionEvent evt)  {
+
+    public void actionPerformed(ActionEvent evt) {
         String command = evt.getActionCommand();
-        
+
         // Compare the action command to the known actions.
-        if (command.equals("Start"))  {
+        if (command.equals("Start")) {
             startProcess();
         } else if (command.equals("Stop")) {
             stopProcess();
@@ -282,7 +317,7 @@ public class JFrameMinimize extends javax.swing.JFrame implements ActionListener
             closeDialog();
         } else if (evt.getSource() == addOneIgnored) {
             addOneIgnored();
-	} else if (evt.getSource() == addOneProjected) {
+        } else if (evt.getSource() == addOneProjected) {
             addOneProjected();
         } else if (evt.getSource() == allProjected) {
             allProjected();
@@ -292,52 +327,51 @@ public class JFrameMinimize extends javax.swing.JFrame implements ActionListener
     }
 
 
-
     private void updateListsFromModels() {
-	Collections.sort(sortedListProjected);
-	Collections.sort(sortedListIgnored);
-	String[] strarray = new String[sortedListProjected.size()];
-	sortedListProjected.toArray(strarray );
-	listProjected.setListData(strarray);
-	strarray = new String[sortedListIgnored.size()];
-	sortedListIgnored.toArray(strarray );
-	listIgnored.setListData(strarray);
-	setButtonsList();
+        Collections.sort(sortedListProjected);
+        Collections.sort(sortedListIgnored);
+        String[] strarray = new String[sortedListProjected.size()];
+        sortedListProjected.toArray(strarray);
+        listProjected.setListData(strarray);
+        strarray = new String[sortedListIgnored.size()];
+        sortedListIgnored.toArray(strarray);
+        listIgnored.setListData(strarray);
+        setButtonsList();
     }
-    
-    
+
+
     private void addOneIgnored() {
-        java.util.List<String> ll= listProjected.getSelectedValuesList();
-        for (String o: ll){
+        java.util.List<String> ll = listProjected.getSelectedValuesList();
+        for (String o : ll) {
             sortedListProjected.remove(o);
-            sortedListIgnored.add (o);
+            sortedListIgnored.add(o);
         }
         updateListsFromModels();
         setButtons();
     }
-    
+
     private void addOneProjected() {
-	 java.util.List<String> ll= listIgnored.getSelectedValuesList();
-        for (String o: ll){
+        java.util.List<String> ll = listIgnored.getSelectedValuesList();
+        for (String o : ll) {
             sortedListIgnored.remove(o);
-            sortedListProjected.add (o);
+            sortedListProjected.add(o);
         }
         updateListsFromModels();
         setButtons();
-     }
-    
+    }
+
     private void allProjected() {
-	sortedListProjected.addAll(sortedListIgnored);
-	sortedListIgnored.clear();
-	updateListsFromModels(); 
-   
+        sortedListProjected.addAll(sortedListIgnored);
+        sortedListIgnored.clear();
+        updateListsFromModels();
+
         setButtons();
     }
-    
+
     private void allIgnored() {
         sortedListIgnored.addAll(sortedListProjected);
-	sortedListProjected.clear();
-	updateListsFromModels(); 
+        sortedListProjected.clear();
+        updateListsFromModels();
         setButtons();
     }
     
@@ -363,10 +397,10 @@ public class JFrameMinimize extends javax.swing.JFrame implements ActionListener
             }
         }
 	}*/
-    
-     
+
+
     private void setButtons() {
-        switch(mode) {
+        switch (mode) {
             case NO_DATA:
                 listProjected.setEnabled(false);
                 listIgnored.setEnabled(false);
@@ -406,71 +440,71 @@ public class JFrameMinimize extends javax.swing.JFrame implements ActionListener
                 break;
         }
     }
-    
+
     private void unsetButtonsList() {
         addOneProjected.setEnabled(false);
         addOneIgnored.setEnabled(false);
         allProjected.setEnabled(false);
         allIgnored.setEnabled(false);
     }
-    
+
     private void setButtonsList() {
         int i1 = listIgnored.getSelectedIndex();
         int i2 = listProjected.getSelectedIndex();
-        
+
         if (i1 == -1) {
             addOneProjected.setEnabled(false);
         } else {
             addOneProjected.setEnabled(true);
         }
-        
+
         if (i2 == -1) {
             addOneIgnored.setEnabled(false);
         } else {
             addOneIgnored.setEnabled(true);
         }
 
-	if (sortedListIgnored == null) {
-	    allProjected.setEnabled(false);
-	} else {
-	    if (sortedListIgnored.size() == 0) {
-		allProjected.setEnabled(false);
-	    } else {
-		allProjected.setEnabled(true);
-	    }
-	}
-
-	if (sortedListProjected == null) {
-	    allIgnored.setEnabled(false);
-	} else {
-	    if (sortedListProjected.size() == 0) {
+        if (sortedListIgnored == null) {
+            allProjected.setEnabled(false);
+        } else {
+            if (sortedListIgnored.size() == 0) {
+                allProjected.setEnabled(false);
+            } else {
+                allProjected.setEnabled(true);
+            }
+        }
+
+        if (sortedListProjected == null) {
             allIgnored.setEnabled(false);
-            //closeButton.setEnabled(false);
-            //closeButton.setEnabled(false);
-	    } else {
-		allIgnored.setEnabled(true);
-		//closeButton.setEnabled(true);
-	    }
-	}
+        } else {
+            if (sortedListProjected.size() == 0) {
+                allIgnored.setEnabled(false);
+                //closeButton.setEnabled(false);
+                //closeButton.setEnabled(false);
+            } else {
+                allIgnored.setEnabled(true);
+                //closeButton.setEnabled(true);
+            }
+        }
     }
-    
+
     public void valueChanged(ListSelectionEvent e) {
         setButtons();
     }
-    
+
     public void closeDialog() {
         if (mode == STARTED) {
             stopProcess();
         }
         dispose();
     }
-    
+
     public void stopProcess() {
-        
-        mode = 	STOPPED;
+
+        mode = STOPPED;
         setButtons();
     }
-    
+
     public void startProcess() {
         t = new Thread(this);
         mode = STARTED;
@@ -480,84 +514,104 @@ public class JFrameMinimize extends javax.swing.JFrame implements ActionListener
 
 
     public void computeListOfActions() {
-	jta.append("Computing list of Actions\n");
-	jta.append("\t1. Cloning graph\n");
-	if (rg.graph == null) {
-	    if (rg.data == null) {
-		jta.append("ERROR: invalid graph\n");
-		return;
-	    }
-	    
-	    rg.graph = new AUTGraph();
-	    jta.append("\t\t Buillding graph in memory\n");
-	    rg.graph.buildGraph(rg.data);
-	    jta.append("\t\t Finishing graph in memory\n");
-	    rg.graph.computeStates();
-	}
-	newRG = new RG("minimized" + rg.name);
-	newRG.data = rg.data;
-	newRG.graph = rg.graph.cloneMe();
-	jta.append("\t2. Making list of actions\n");
-	HashSet<String> hs = newRG.graph.getAllActions();
-	jta.append("\t3. Sorting actions, and setting graphical lists\n");
-	
-	sortedListProjected = new ArrayList<String>(hs);
-	sortedListIgnored = new ArrayList<String>();
-	updateListsFromModels();
-
-	jta.append("All done\n");
-	
-	jta.append("\nSelect actions and then, click on 'start' to start minimization\n");
-	listOfActionsComputed = true;
-	mode = NOT_STARTED;
-	setButtons();
+        jta.append("Computing list of Actions\n");
+        jta.append("\t1. Cloning graph\n");
+        if (rg.graph == null) {
+            if (rg.data == null) {
+                jta.append("ERROR: invalid graph\n");
+                return;
+            }
+
+            rg.graph = new AUTGraph();
+            jta.append("\t\t Buillding graph in memory\n");
+            rg.graph.buildGraph(rg.data);
+            jta.append("\t\t Finishing graph in memory\n");
+            rg.graph.computeStates();
+        }
+        newRG = new RG("minimized" + rg.name);
+        newRG.data = rg.data;
+        newRG.graph = rg.graph.cloneMe();
+        jta.append("\t2. Making list of actions\n");
+        HashSet<String> hs = newRG.graph.getAllActions();
+        jta.append("\t3. Sorting actions, and setting graphical lists\n");
+
+        sortedListProjected = new ArrayList<String>(hs);
+        sortedListIgnored = new ArrayList<String>();
+        updateListsFromModels();
+
+        jta.append("All done\n");
+
+        jta.append("\nSelect actions and then, click on 'start' to start minimization\n");
+        listOfActionsComputed = true;
+        mode = NOT_STARTED;
+        setButtons();
     }
-    
+
     public void run() {
 
-	if (!listOfActionsComputed) {
-	    computeListOfActions();
-	    return;
-	}
-	
-	jta.append("\nMinimizing graph...\n");
-	String[] strarray = new String[sortedListIgnored.size()];
-	sortedListIgnored.toArray(strarray );
-	if (removeInternalActions.isSelected()) {
-	    int toBeRemoved = 0;
-	    for(String s: sortedListProjected) {
-		if (s.startsWith("i(")) {
-		    toBeRemoved ++;
-		}
-	    }
-	    if (toBeRemoved > 0) {
-		String[] allstr = new String[strarray.length + toBeRemoved];
-		for(int i=0; i<strarray.length; i++) {
-		    allstr[i] = strarray[i];
-		}
-		int index = strarray.length;
-		for(String s: sortedListProjected) {
-		    if (s.startsWith("i(")) {
-			allstr[index] = s;
-			index++;
-		    }
-		    
-		}
-		strarray = allstr;
-		
-	    }
-	}
-	newRG.graph.minimize(strarray, tauOnly.isSelected());
-	newRG.nbOfStates = newRG.graph.getNbOfStates();
-	newRG.nbOfTransitions = newRG.graph.getTransitions().size();
-	mgui.addRG(newRG);
-	
-	jta.append("\nGraph minimized: " + newRG.nbOfStates + " states, " + newRG.nbOfTransitions + " transitions\n");
-	
-	
+        if (!listOfActionsComputed) {
+            computeListOfActions();
+            return;
+        }
+
+        jta.append("\nMinimizing graph...\n");
+        String[] strarray = new String[sortedListIgnored.size()];
+        sortedListIgnored.toArray(strarray);
+        if (removeInternalActions.isSelected()) {
+            int toBeRemoved = 0;
+            for (String s : sortedListProjected) {
+                if (s.startsWith("i(")) {
+                    toBeRemoved++;
+                }
+            }
+            if (toBeRemoved > 0) {
+                String[] allstr = new String[strarray.length + toBeRemoved];
+                for (int i = 0; i < strarray.length; i++) {
+                    allstr[i] = strarray[i];
+                }
+                int index = strarray.length;
+                for (String s : sortedListProjected) {
+                    if (s.startsWith("i(")) {
+                        allstr[index] = s;
+                        index++;
+                    }
+
+                }
+                strarray = allstr;
+
+            }
+        }
+        newRG.graph.minimize(strarray, tauOnly.isSelected());
+        newRG.nbOfStates = newRG.graph.getNbOfStates();
+        newRG.nbOfTransitions = newRG.graph.getTransitions().size();
+        mgui.addRG(newRG);
+
+        jta.append("\nGraph minimized: " + newRG.nbOfStates + " states, " + newRG.nbOfTransitions + " transitions\n");
+
+        if (saveGraphAUT.isSelected()) {
+            DateFormat dateFormat = new SimpleDateFormat("_yyyyMMdd_HHmmss");
+            Date date = new Date();
+            String dateAndTime = dateFormat.format(date);
+            String graphAUT = newRG.graph.toAUTStringFormat();
+            String autfile;
+
+            if (graphPath.getText().indexOf("$") != -1) {
+                autfile = Conversion.replaceAllChar(graphPath.getText(), '$', dateAndTime);
+            } else {
+                autfile = graphPath.getText();
+            }
+
+            try {
+                FileUtils.saveFile(autfile, graphAUT);
+            } catch (FileException e) {
+                jta.append("Graph could not be saved in " + autfile + "\n");
+            }
+            jta.append("Graph saved in " + autfile + "\n");
+        }
+
         mode = STOPPED;
         setButtons();
     }
-    
+
 
 }
diff --git a/src/main/java/ui/window/JFrameRefusalGraph.java b/src/main/java/ui/window/JFrameRefusalGraph.java
index b09e5c0216..2d962b6149 100755
--- a/src/main/java/ui/window/JFrameRefusalGraph.java
+++ b/src/main/java/ui/window/JFrameRefusalGraph.java
@@ -37,10 +37,11 @@
  */
 
 
-
-
 package ui.window;
 
+import myutil.Conversion;
+import myutil.FileException;
+import myutil.FileUtils;
 import myutil.ScrolledJTextArea;
 import ui.util.IconManager;
 import ui.MainGUI;
@@ -53,8 +54,12 @@ import javax.swing.event.ListSelectionListener;
 import java.awt.*;
 import java.awt.event.ActionEvent;
 import java.awt.event.ActionListener;
+import java.io.File;
+import java.text.DateFormat;
+import java.text.SimpleDateFormat;
 import java.util.ArrayList;
 import java.util.Collections;
+import java.util.Date;
 import java.util.HashSet;
 
 
@@ -62,126 +67,143 @@ import java.util.HashSet;
  * Class JFrameRefusalGraph
  * Frame for handling the construction of the refusal graph
  * Creation: 18/08/2017
- * @version 1.0 18/08/2017
+ *
  * @author Ludovic APVRILLE
+ * @version 1.0 18/08/2017
  */
-public class JFrameRefusalGraph extends javax.swing.JFrame implements ActionListener, Runnable  {
+public class JFrameRefusalGraph extends javax.swing.JFrame implements ActionListener, Runnable {
     /*private static boolean isAldebaranSelected = false;
     private static boolean isOminSelected = false;
     private static boolean isStrongSelected = true;*/
 
-    
+
+    protected static boolean graphSelected = true;
+
     private MainGUI mgui;
     private RG rg;
     private RG newRG;
     private RG newRGTS;
-    
+
     protected Thread t;
 
     private int mode;
-   
+
     protected final static int NOT_STARTED = 1;
     protected final static int STARTED = 2;
     protected final static int STOPPED = 3;
-    
-    //subpanels
+
+    //subpanels & components
     private JPanel panel2;
-    
+    private JCheckBox saveGraphAUT;
+    private JTextField graphPath;
+    private String graphDir;
+
     // Main Panel
     private ScrolledJTextArea jta;
     private JButton start, stop, close;
-    
-    /** Creates new form  */
-    public JFrameRefusalGraph(Frame _f, MainGUI _mgui, String _title, RG _rg) {
+
+    /**
+     * Creates new form
+     */
+    public JFrameRefusalGraph(Frame _f, MainGUI _mgui, String _title, RG _rg, String _graphDir) {
         super(_title);
-        
+
         mgui = _mgui;
-	rg = _rg;
-                
+        rg = _rg;
+
+        if (graphDir == null) {
+            graphDir = _graphDir + File.separator + "testsequences$.aut";
+        }
+
         initComponents();
         myInitComponents();
         pack();
-        
+
         //getGlassPane().addMouseListener( new MouseAdapter() {});
         getGlassPane().setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
     }
-    
-    
+
+
     private void myInitComponents() {
         mode = NOT_STARTED;
-     }
-    
+    }
+
     private void initComponents() {
         Container c = getContentPane();
-	setFont(new Font("Helvetica", Font.PLAIN, 14));
+        setFont(new Font("Helvetica", Font.PLAIN, 14));
         c.setLayout(new BorderLayout());
         setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
-        
- 
-        
+
+        JPanel compPanel = new JPanel(new BorderLayout());
+        saveGraphAUT = new JCheckBox("Save the generated sequences in AUT format", graphSelected);
+        compPanel.add(saveGraphAUT, BorderLayout.NORTH);
+        //saveGraphAUT.addSelectionListener(this);
+        graphPath = new JTextField(graphDir);
+        compPanel.add(graphPath, BorderLayout.SOUTH);
+        c.add(compPanel, BorderLayout.NORTH);
+
+
         // textarea panel
         jta = new ScrolledJTextArea();
         jta.setEditable(false);
         jta.setMargin(new Insets(10, 10, 10, 10));
         jta.setTabSize(3);
-        jta.append("Select actions and then, click on 'start' to generate test sequences\n");
+        jta.append("Click on 'start' to generate test sequences\n");
         Font f = new Font("Courrier", Font.BOLD, 12);
         jta.setFont(f);
         JScrollPane jsp = new JScrollPane(jta, JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
-        
+
         c.add(jsp, BorderLayout.CENTER);
-        
-        
+
+
         // Button panel;
         start = new JButton("Start", IconManager.imgic53);
         stop = new JButton("Stop", IconManager.imgic55);
         close = new JButton("Close", IconManager.imgic27);
-        
+
         start.setPreferredSize(new Dimension(150, 30));
         stop.setPreferredSize(new Dimension(150, 30));
         close.setPreferredSize(new Dimension(150, 30));
-        
+
         start.addActionListener(this);
         stop.addActionListener(this);
         close.addActionListener(this);
-        
+
         JPanel jp2 = new JPanel();
         jp2.add(start);
         jp2.add(stop);
         jp2.add(close);
-        
+
         c.add(jp2, BorderLayout.SOUTH);
     }
-    
-    public void	actionPerformed(ActionEvent evt)  {
+
+    public void actionPerformed(ActionEvent evt) {
         String command = evt.getActionCommand();
-        
+
         // Compare the action command to the known actions.
-        if (command.equals("Start"))  {
+        if (command.equals("Start")) {
             startProcess();
         } else if (command.equals("Stop")) {
             stopProcess();
         } else if (command.equals("Close")) {
             closeDialog();
-        } 
+        }
     }
 
 
-
-      
     private void setButtons() {
-        switch(mode) {
-              case NOT_STARTED:
-                 start.setEnabled(true);
-		 stop.setEnabled(false);
-		 close.setEnabled(true);
-		 getGlassPane().setVisible(false);
-		 break;
-	case STARTED:
-                 start.setEnabled(false);
+        switch (mode) {
+            case NOT_STARTED:
+                start.setEnabled(true);
+                stop.setEnabled(false);
+                close.setEnabled(true);
+                getGlassPane().setVisible(false);
+                break;
+            case STARTED:
+                start.setEnabled(false);
                 stop.setEnabled(true);
                 close.setEnabled(false);
-		getGlassPane().setVisible(false);
+                getGlassPane().setVisible(false);
                 break;
             case STOPPED:
             default:
@@ -192,21 +214,21 @@ public class JFrameRefusalGraph extends javax.swing.JFrame implements ActionList
                 break;
         }
     }
-    
-     
+
+
     public void closeDialog() {
         if (mode == STARTED) {
             stopProcess();
         }
+        graphSelected = saveGraphAUT.isSelected();
         dispose();
     }
-    
+
     public void stopProcess() {
-        
-        mode = 	STOPPED;
+        mode = STOPPED;
         setButtons();
     }
-    
+
     public void startProcess() {
         t = new Thread(this);
         mode = STARTED;
@@ -215,32 +237,51 @@ public class JFrameRefusalGraph extends javax.swing.JFrame implements ActionList
     }
 
 
-    
     public void run() {
 
-	jta.append("\nBuilding refusal graph...\n");
-
-	newRG = rg.generateRefusalGraph();
-
-	if (newRG != null) {
-	    newRG.nbOfStates = newRG.graph.getNbOfStates();
-	    newRG.nbOfTransitions = newRG.graph.getTransitions().size();
-	    mgui.addRG(newRG);
-	    jta.append("\nRefusal Graph: " + newRG.nbOfStates + " states, " + newRG.nbOfTransitions + " transitions\n");
-	    jta.append("Generating test sequences\n");
-	    newRGTS = newRG.generateTestSequences();
-	    newRGTS.nbOfStates = newRGTS.graph.getNbOfStates();
-	    newRGTS.nbOfTransitions = newRGTS.graph.getTransitions().size();
-	    mgui.addRG(newRGTS);
-	    jta.append("\nTest sequences: " + newRGTS.nbOfStates + " states, " + newRGTS.nbOfTransitions + " transitions\n");
-	    
-	} else {
-	    jta.append("\nCould not build Refusal Graph\n"); 
-	}
-	
+        jta.append("\nBuilding refusal graph...\n");
+
+        newRG = rg.generateRefusalGraph();
+
+        if (newRG != null) {
+            newRG.nbOfStates = newRG.graph.getNbOfStates();
+            newRG.nbOfTransitions = newRG.graph.getTransitions().size();
+            //mgui.addRG(newRG);
+            jta.append("\nRefusal Graph: " + newRG.nbOfStates + " states, " + newRG.nbOfTransitions + " transitions\n");
+            jta.append("Generating test sequences\n");
+            newRGTS = newRG.generateTestSequences();
+            newRGTS.nbOfStates = newRGTS.graph.getNbOfStates();
+            newRGTS.nbOfTransitions = newRGTS.graph.getTransitions().size();
+            mgui.addRG(newRGTS);
+            jta.append("\nTest sequences: " + newRGTS.nbOfStates + " states, " + newRGTS.nbOfTransitions + " transitions\n");
+
+            if (saveGraphAUT.isSelected()) {
+                DateFormat dateFormat = new SimpleDateFormat("_yyyyMMdd_HHmmss");
+                Date date = new Date();
+                String dateAndTime = dateFormat.format(date);
+                String graphAUT = newRGTS.graph.toAUTStringFormat();
+                String autfile;
+
+                if (graphPath.getText().indexOf("$") != -1) {
+                    autfile = Conversion.replaceAllChar(graphPath.getText(), '$', dateAndTime);
+                } else {
+                    autfile = graphPath.getText();
+                }
+
+                try {
+                    FileUtils.saveFile(autfile, graphAUT);
+                } catch (FileException e) {
+                    jta.append("Graph could not be saved in " + autfile + "\n");
+                }
+                jta.append("Graph saved in " + autfile + "\n");
+            }
+        } else {
+            jta.append("\nCould not build Refusal Graph\n");
+        }
+
         mode = STOPPED;
         setButtons();
     }
-    
+
 
 }
-- 
GitLab