diff --git a/Makefile b/Makefile
index 0855a251764035a0550c7a8cca720efecfe0b6c5..33d53f661c09b43cf0fc7716cf7a0382e5e59961 100755
--- a/Makefile
+++ b/Makefile
@@ -196,6 +196,7 @@ PROD_USERNAME			= apvrille
 PROD_ADDRESS			= ssh.enst.fr
 PROD_PATH			= public_html/docs
 
+TTOOL_DOC_SYSMLSEC_DIR		 	= $(TTOOL_DOC)/SysMLSec
 TTOOL_DOC_AVATARCODEGENERATION_DIR 	= $(TTOOL_DOC)/codegeneration
 TTOOL_DOC_SOCLIB_USERGUIDE_DIR 		= $(TTOOL_DOC)/documents_soclib/USER_GUIDE
 TTOOL_DOC_SOCLIB_INSTALLATIONGUIDE_DIR 	= $(TTOOL_DOC)/documents_soclib/INSTALLATION_GUIDE
@@ -440,8 +441,12 @@ $(BASERELEASE:.tgz=.tar): $(JTTOOL_BINARY) $(TTOOL_BINARY) $(LAUNCHER_BINARY) $(
 	@cp $(TTOOL_MPSOC)/generated_topcell/nbproc $(TTOOL_TARGET)/MPSoC/generated_topcell/
 	@cp $(TTOOL_MPSOC)/generated_topcell/config_noproc $(TTOOL_TARGET)/MPSoC/generated_topcell/
 #DOC
+	@$(MAKE) -C $(TTOOL_DOC_SYSMLSEC_DIR) sysmlsec_documentation
+	@cp $(TTOOL_DOC_SYSMLSEC_DIR)/build/sysmlsec_documentation.pdf  $(TTOOL_TARGET)/doc/sysmlsec_documentation.pdf
+	@cp $(TTOOL_DOC_SYSMLSEC_DIR)/build/sysmlsec_documentation.pdf  $(TTOOL_PRIVATE)/website/ttool/docs/
 	@$(MAKE) -C $(TTOOL_DOC_AVATARCODEGENERATION_DIR) codegeneration_documentation
 	@cp $(TTOOL_DOC_AVATARCODEGENERATION_DIR)/codegeneration_documentation.pdf  $(TTOOL_TARGET)/doc/avatarcodegeneration_documentation.pdf
+	@cp $(TTOOL_DOC_AVATARCODEGENERATION_DIR)/codegeneration_documentation.pdf  $(TTOOL_PRIVATE)/website/ttool/docs/
 	@$(MAKE) -C $(TTOOL_DOC_SOCLIB_USERGUIDE_DIR) user_guide
 	@cp $(TTOOL_DOC_SOCLIB_USERGUIDE_DIR)/build/user_guide.pdf  $(TTOOL_TARGET)/doc/prototyping_with_soclib_user_guide.pdf
 	@$(MAKE) -C $(TTOOL_DOC_SOCLIB_INSTALLATIONGUIDE_DIR) installation_guide
@@ -502,6 +507,7 @@ clean:
 	@$(MAKE) -C $(WEBCRAWLER_CLIENT_DIR) -e clean
 	@$(MAKE) -C $(WEBCRAWLER_SERVER_DIR) -e clean
 	@$(MAKE) -C $(JTTOOL_DIR) -e clean
+	@$(MAKE) -C $(TTOOL_DOC_SYSMLSEC_DIR) clean	
 	@$(MAKE) -C $(TTOOL_DOC_AVATARCODEGENERATION_DIR) clean
 	@$(MAKE) -C $(TTOOL_DOC_SOCLIB_USERGUIDE_DIR) clean
 	@$(MAKE) -C $(TTOOL_DOC_SOCLIB_INSTALLATIONGUIDE_DIR) clean
diff --git a/build.txt b/build.txt
index 7c3d6b6951dd4c15d87542dbb53daa6bbba39adb..38221fa48c350d6e8dafbf7f7d1d567c818bf664 100644
--- a/build.txt
+++ b/build.txt
@@ -1 +1 @@
-12575
\ No newline at end of file
+12612
\ No newline at end of file
diff --git a/doc/SysMLSec/Makefile b/doc/SysMLSec/Makefile
new file mode 100644
index 0000000000000000000000000000000000000000..a10cc88ff860310c5b13e28dc7f5ef12d6a83272
--- /dev/null
+++ b/doc/SysMLSec/Makefile
@@ -0,0 +1,7 @@
+
+FIGDIR		:= fig
+BUILDDIR	:= build
+
+include ../mli.mk
+
+$(BUILDDIR)/sysmlsec_documentation.pdf: $(FIGURES)
diff --git a/doc/SysMLSec/fig/attacktree.png b/doc/SysMLSec/fig/attacktree.png
new file mode 100644
index 0000000000000000000000000000000000000000..18e12af8f32947d153261a813a6f40c6e2932c63
Binary files /dev/null and b/doc/SysMLSec/fig/attacktree.png differ
diff --git a/doc/SysMLSec/fig/attacktree.svg b/doc/SysMLSec/fig/attacktree.svg
new file mode 100644
index 0000000000000000000000000000000000000000..3da484e85e74293e84140470cf602b0cecbc313f
--- /dev/null
+++ b/doc/SysMLSec/fig/attacktree.svg
@@ -0,0 +1,42 @@
+<?xml version="1.0" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="884" height="436" viewbox="126 88 758 348">
+<rect  x="296" y="93" width="175" height="40" fill="none" stroke="#000000" stroke-width="1"/>
+<rect  x="297" y="94" width="173" height="38" fill="#f3830a"/>
+<text  x="324" y="108" style="font-size:12; font-family:SansSerif.bold; font-weight=bold; fill=#000000">&lt;&lt;root attack&gt;&gt;</text>
+<text  x="306" y="123" style="font-size:12; font-family:SansSerif.plain; fill=#000000">RetrieveConfidentialData</text>
+<rect  x="157" y="301" width="112" height="40" fill="none" stroke="#000000" stroke-width="1"/>
+<rect  x="158" y="302" width="110" height="38" fill="#d6bb9e"/>
+<text  x="170" y="316" style="font-size:12; font-family:SansSerif.bold; font-weight=bold; fill=#000000">&lt;&lt;attack&gt;&gt;</text>
+<text  x="167" y="331" style="font-size:12; font-family:SansSerif.plain; fill=#000000">ConnectOnBus</text>
+<rect  x="308" y="177" width="150" height="50" rx="7" ry="7" fill="#bf99a1"/>
+<rect  x="308" y="177" width="150" height="50" rx="7" ry="7" fill="none" stroke="#000000" stroke-width="1"/>
+<text  x="327" y="194" style="font-size:12; font-family:SansSerif.bold; font-weight=bold; fill=#000000">&lt;&lt;SEQUENCE&gt;&gt;</text>
+<text  x="383" y="206" style="font-size:12; font-family:SansSerif.italic; font-style=italic; fill=#000000"></text>
+<rect  x="481" y="298" width="122" height="40" fill="none" stroke="#000000" stroke-width="1"/>
+<rect  x="482" y="299" width="120" height="38" fill="#d6bb9e"/>
+<text  x="499" y="313" style="font-size:12; font-family:SansSerif.bold; font-weight=bold; fill=#000000">&lt;&lt;attack&gt;&gt;</text>
+<text  x="491" y="328" style="font-size:12; font-family:SansSerif.plain; fill=#000000">ReadDataOnBus</text>
+<polygon  points="715,298 903,298 879,338 690,338 " fill="#d1daae"/>
+<polygon  points="715,298 903,298 879,338 690,338 " fill="none" stroke="#000000" stroke-width="1"/>
+<text  x="718" y="313" style="font-size:12; font-family:SansSerif.bold; font-weight=bold; fill=#000000">&lt;&lt;countermeasure&gt;&gt;</text>
+<text  x="767" y="328" style="font-size:12; font-family:SansSerif.plain; fill=#000000">Ciphering</text>
+<polygon  points="131,391 319,391 295,431 106,431 " fill="#d1daae"/>
+<polygon  points="131,391 319,391 295,431 106,431 " fill="none" stroke="#000000" stroke-width="1"/>
+<text  x="134" y="406" style="font-size:12; font-family:SansSerif.bold; font-weight=bold; fill=#000000">&lt;&lt;countermeasure&gt;&gt;</text>
+<text  x="180" y="421" style="font-size:12; font-family:SansSerif.plain; fill=#000000">PrivateBus</text>
+<rect  x="343" y="222" width="5" height="5" fill="none" stroke="#000000" stroke-width="1"/>
+<line  x1="241" y1="301" x2="345" y2="227" stroke="#000000" stroke-width="1" fill="none"/>
+<polygon  points="345,227 340,236 335,227 " fill="#000000"/>
+<polygon  points="345,227 340,236 335,227 " fill="none" stroke="#000000" stroke-width="1"/>
+<text  x="348" y="227" style="font-size:12; font-family:SansSerif.plain; fill=#000000">1</text>
+<rect  x="381" y="177" width="5" height="5" fill="none" stroke="#000000" stroke-width="1"/>
+<line  x1="383" y1="177" x2="383" y2="133" stroke="#000000" stroke-width="1" fill="none"/>
+<polygon  points="383,133 387,141 378,141 " fill="#000000"/>
+<polygon  points="383,133 387,141 378,141 " fill="none" stroke="#000000" stroke-width="1"/>
+<rect  x="418" y="222" width="5" height="5" fill="none" stroke="#000000" stroke-width="1"/>
+<line  x1="511" y1="298" x2="420" y2="227" stroke="#000000" stroke-width="1" fill="none"/>
+<polygon  points="420,227 429,228 423,236 " fill="#000000"/>
+<polygon  points="420,227 429,228 423,236 " fill="none" stroke="#000000" stroke-width="1"/>
+<text  x="423" y="227" style="font-size:12; font-family:SansSerif.plain; fill=#000000">2</text>
+</svg>
\ No newline at end of file
diff --git a/doc/SysMLSec/fig/attacktree_verif1.png b/doc/SysMLSec/fig/attacktree_verif1.png
new file mode 100644
index 0000000000000000000000000000000000000000..d205c56e83dcd22e4353e97a3170ee9357acf8fd
Binary files /dev/null and b/doc/SysMLSec/fig/attacktree_verif1.png differ
diff --git a/doc/SysMLSec/fig/attacktree_verif2.png b/doc/SysMLSec/fig/attacktree_verif2.png
new file mode 100644
index 0000000000000000000000000000000000000000..f7b457400321e3ecb613d93c5e7e397463f31600
Binary files /dev/null and b/doc/SysMLSec/fig/attacktree_verif2.png differ
diff --git a/doc/SysMLSec/fig/ccdialog.png b/doc/SysMLSec/fig/ccdialog.png
new file mode 100644
index 0000000000000000000000000000000000000000..03738496edee8b4d5536d7153162be240485a0e7
Binary files /dev/null and b/doc/SysMLSec/fig/ccdialog.png differ
diff --git a/doc/SysMLSec/fig/design.svg b/doc/SysMLSec/fig/design.svg
new file mode 100644
index 0000000000000000000000000000000000000000..8281215ad9b383a12722aa048736216e8337e925
--- /dev/null
+++ b/doc/SysMLSec/fig/design.svg
@@ -0,0 +1,481 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   version="1.1"
+   width="790"
+   height="300"
+   viewbox="16 29 780 299"
+   id="svg7419"
+   inkscape:version="0.48.5 r10040"
+   sodipodi:docname="design.svg">
+  <metadata
+     id="metadata7563">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <defs
+     id="defs7561" />
+  <sodipodi:namedview
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1"
+     objecttolerance="10"
+     gridtolerance="10"
+     guidetolerance="10"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:window-width="640"
+     inkscape:window-height="480"
+     id="namedview7559"
+     showgrid="false"
+     inkscape:zoom="0.41080402"
+     inkscape:cx="398"
+     inkscape:cy="164"
+     inkscape:window-x="1179"
+     inkscape:window-y="678"
+     inkscape:window-maximized="0"
+     inkscape:current-layer="svg7419" />
+  <rect
+     x="11"
+     y="6"
+     width="438"
+     height="219"
+     id="rect7421"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <rect
+     x="12"
+     y="7"
+     width="436"
+     height="217"
+     id="rect7423"
+     style="fill:#c1daf1" />
+  <text
+     x="191"
+     y="21"
+     style="font-size:12px;font-family:SansSerif"
+     id="text7425">&lt;&lt;block&gt;&gt;</text>
+  <text
+     x="207"
+     y="39"
+     style="font-size:12px;font-family:SansSerif"
+     id="text7427">System</text>
+  <line
+     x1="11"
+     y1="45"
+     x2="449"
+     y2="45"
+     id="line7429"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="11"
+     y1="54"
+     x2="449"
+     y2="54"
+     id="line7431"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="11"
+     y1="63"
+     x2="449"
+     y2="63"
+     id="line7433"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <text
+     x="18"
+     y="79"
+     style="font-size:10px;font-family:SansSerif"
+     id="text7435">~ in chin(Message msg)</text>
+  <text
+     x="18"
+     y="92"
+     style="font-size:10px;font-family:SansSerif"
+     id="text7437">~ out chout(Message msg)</text>
+  <rect
+     x="253"
+     y="94"
+     width="139"
+     height="126"
+     id="rect7439"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <rect
+     x="254"
+     y="95"
+     width="137"
+     height="124"
+     id="rect7441"
+     style="fill:#c1daf1" />
+  <text
+     x="261"
+     y="109"
+     style="font-size:12px;font-family:SansSerif"
+     id="text7443">&lt;&lt;cryptoblock&gt;&gt;</text>
+  <text
+     x="315"
+     y="127"
+     style="font-size:12px;font-family:SansSerif"
+     id="text7445">T2</text>
+  <line
+     x1="253"
+     y1="133"
+     x2="392"
+     y2="133"
+     id="line7447"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <text
+     x="260"
+     y="149"
+     style="font-size:10px;font-family:SansSerif"
+     id="text7449">- m : Message;</text>
+  <text
+     x="260"
+     y="162"
+     style="font-size:10px;font-family:SansSerif"
+     id="text7451">- m2 : Message;</text>
+  <text
+     x="260"
+     y="175"
+     style="font-size:10px;font-family:SansSerif"
+     id="text7453">- sk : Key;</text>
+  <text
+     x="260"
+     y="188"
+     style="font-size:10px;font-family:SansSerif"
+     id="text7455">- receivedData : int;</text>
+  <line
+     x1="253"
+     y1="194"
+     x2="392"
+     y2="194"
+     id="line7457"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <text
+     x="260"
+     y="210"
+     style="font-size:10px;font-family:SansSerif"
+     id="text7459">- Message encrypt(Mes...</text>
+  <rect
+     x="26"
+     y="94"
+     width="215"
+     height="126"
+     id="rect7461"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <rect
+     x="27"
+     y="95"
+     width="213"
+     height="124"
+     id="rect7463"
+     style="fill:#c1daf1" />
+  <text
+     x="72"
+     y="109"
+     style="font-size:12px;font-family:SansSerif"
+     id="text7465">&lt;&lt;cryptoblock&gt;&gt;</text>
+  <text
+     x="126"
+     y="127"
+     style="font-size:12px;font-family:SansSerif"
+     id="text7467">T1</text>
+  <line
+     x1="26"
+     y1="133"
+     x2="241"
+     y2="133"
+     id="line7469"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <text
+     x="33"
+     y="149"
+     style="font-size:10px;font-family:SansSerif"
+     id="text7471">- secretData : int;</text>
+  <text
+     x="33"
+     y="162"
+     style="font-size:10px;font-family:SansSerif"
+     id="text7473">- m : Message;</text>
+  <text
+     x="33"
+     y="175"
+     style="font-size:10px;font-family:SansSerif"
+     id="text7475">- m1 : Message;</text>
+  <text
+     x="33"
+     y="188"
+     style="font-size:10px;font-family:SansSerif"
+     id="text7477">- sk : Key;</text>
+  <line
+     x1="26"
+     y1="194"
+     x2="241"
+     y2="194"
+     id="line7479"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <text
+     x="33"
+     y="210"
+     style="font-size:10px;font-family:SansSerif"
+     id="text7481">- Message encrypt(Message msg, Key k)</text>
+  <rect
+     x="58"
+     y="233"
+     width="123"
+     height="62"
+     id="rect7483"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <rect
+     x="59"
+     y="234"
+     width="121"
+     height="60"
+     id="rect7485"
+     style="fill:#9cdca2" />
+  <text
+     x="67"
+     y="248"
+     style="font-size:12px;font-family:SansSerif"
+     id="text7487">&lt;&lt;datatype&gt;&gt;</text>
+  <text
+     x="109"
+     y="263"
+     style="font-size:12px;font-family:SansSerif"
+     id="text7489">Key</text>
+  <line
+     x1="58"
+     y1="265"
+     x2="181"
+     y2="265"
+     id="line7491"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <text
+     x="65"
+     y="277"
+     style="font-size:10px;font-family:SansSerif"
+     id="text7493">- data : int;</text>
+  <rect
+     x="250"
+     y="234"
+     width="129"
+     height="61"
+     id="rect7495"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <rect
+     x="251"
+     y="235"
+     width="127"
+     height="59"
+     id="rect7497"
+     style="fill:#9cdca2" />
+  <text
+     x="262"
+     y="249"
+     style="font-size:12px;font-family:SansSerif"
+     id="text7499">&lt;&lt;datatype&gt;&gt;</text>
+  <text
+     x="286"
+     y="264"
+     style="font-size:12px;font-family:SansSerif"
+     id="text7501">Message</text>
+  <line
+     x1="250"
+     y1="266"
+     x2="379"
+     y2="266"
+     id="line7503"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <text
+     x="257"
+     y="278"
+     style="font-size:10px;font-family:SansSerif"
+     id="text7505">- data : int;</text>
+  <line
+     x1="507"
+     y1="15"
+     x2="781"
+     y2="15"
+     id="line7507"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="507"
+     y1="15"
+     x2="507"
+     y2="99"
+     id="line7509"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="507"
+     y1="99"
+     x2="766"
+     y2="99"
+     id="line7511"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="781"
+     y1="15"
+     x2="781"
+     y2="84"
+     id="line7513"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <polygon
+     points="518,127 518,44 791,44 791,112 776,127 "
+     id="polygon7515"
+     style="fill:#c8aac8"
+     transform="translate(-10,-28)" />
+  <polygon
+     points="781,114 776,127 791,112 787,115 "
+     id="polygon7517"
+     style="fill:none;stroke:#000000;stroke-width:1"
+     transform="translate(-10,-28)" />
+  <polygon
+     points="781,114 776,127 791,112 787,115 "
+     id="polygon7519"
+     style="fill:#640064"
+     transform="translate(-10,-28)" />
+  <text
+     x="532"
+     y="33"
+     style="font-size:14px;font-family:Dialog"
+     id="text7521">Model Pragmas</text>
+  <text
+     x="532"
+     y="46"
+     style="font-size:12px;font-family:SansSerif"
+     id="text7523">#InitialSystemKnowledge T1.sk T2.sk</text>
+  <text
+     x="542"
+     y="59"
+     style="font-size:12px;font-family:SansSerif"
+     id="text7525" />
+  <line
+     x1="507"
+     y1="56"
+     x2="781"
+     y2="56"
+     id="line7527"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <text
+     x="532"
+     y="72"
+     style="font-size:14px;font-family:Dialog"
+     id="text7529">Security Property</text>
+  <text
+     x="532"
+     y="85"
+     style="font-size:12px;font-family:SansSerif"
+     id="text7531">#Confidentiality T1.secretData</text>
+  <line
+     x1="449"
+     y1="60"
+     x2="480"
+     y2="60"
+     id="line7533"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="480"
+     y1="60"
+     x2="480"
+     y2="115"
+     id="line7535"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <rect
+     x="444"
+     y="110"
+     width="9"
+     height="9"
+     id="rect7537"
+     style="fill:#000000" />
+  <rect
+     x="444"
+     y="55"
+     width="9"
+     height="9"
+     id="rect7539"
+     style="fill:#000000" />
+  <polygon
+     points="473,115 466,133 480,133 "
+     id="polygon7541"
+     style="fill:#ffffff"
+     transform="translate(-10,-28)" />
+  <polygon
+     points="473,60 466,78 480,78 "
+     id="polygon7543"
+     style="fill:#ffffff"
+     transform="translate(-10,-28)" />
+  <polygon
+     points="473,115 466,133 480,133 "
+     id="polygon7545"
+     style="fill:none;stroke:#000000;stroke-width:1"
+     transform="translate(-10,-28)" />
+  <polygon
+     points="473,60 466,78 480,78 "
+     id="polygon7547"
+     style="fill:none;stroke:#000000;stroke-width:1"
+     transform="translate(-10,-28)" />
+  <ellipse
+     cx="473"
+     cy="129"
+     rx="4"
+     ry="3"
+     id="ellipse7549"
+     sodipodi:cx="473"
+     sodipodi:cy="129"
+     sodipodi:rx="4"
+     sodipodi:ry="3"
+     style="fill:none;stroke:#000000;stroke-width:1"
+     transform="translate(-10,-28)" />
+  <ellipse
+     cx="473"
+     cy="74"
+     rx="4"
+     ry="3"
+     id="ellipse7551"
+     sodipodi:cx="473"
+     sodipodi:cy="74"
+     sodipodi:rx="4"
+     sodipodi:ry="3"
+     style="fill:none;stroke:#000000;stroke-width:1"
+     transform="translate(-10,-28)" />
+  <ellipse
+     cx="473"
+     cy="129"
+     rx="2"
+     ry="2"
+     id="ellipse7553"
+     sodipodi:cx="473"
+     sodipodi:cy="129"
+     sodipodi:rx="2"
+     sodipodi:ry="2"
+     style="fill:#000000"
+     transform="translate(-10,-28)" />
+  <ellipse
+     cx="473"
+     cy="74"
+     rx="2"
+     ry="2"
+     id="ellipse7555"
+     sodipodi:cx="473"
+     sodipodi:cy="74"
+     sodipodi:rx="2"
+     sodipodi:ry="2"
+     style="fill:#000000"
+     transform="translate(-10,-28)" />
+  <line
+     x1="480"
+     y1="115"
+     x2="454"
+     y2="115"
+     id="line7557"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+</svg>
diff --git a/doc/SysMLSec/fig/design_result.svg b/doc/SysMLSec/fig/design_result.svg
new file mode 100644
index 0000000000000000000000000000000000000000..c3c3145d478da514a0b9ce4092ac8612464ab259
--- /dev/null
+++ b/doc/SysMLSec/fig/design_result.svg
@@ -0,0 +1,507 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   version="1.1"
+   width="785"
+   height="302"
+   viewbox="16 29 780 299"
+   id="svg3223"
+   inkscape:version="0.48.5 r10040"
+   sodipodi:docname="design_result.svg">
+  <metadata
+     id="metadata3373">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <defs
+     id="defs3371" />
+  <sodipodi:namedview
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1"
+     objecttolerance="10"
+     gridtolerance="10"
+     guidetolerance="10"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:window-width="640"
+     inkscape:window-height="480"
+     id="namedview3369"
+     showgrid="false"
+     inkscape:zoom="0.41080402"
+     inkscape:cx="398"
+     inkscape:cy="164"
+     inkscape:window-x="833"
+     inkscape:window-y="528"
+     inkscape:window-maximized="0"
+     inkscape:current-layer="svg3223" />
+  <rect
+     x="7"
+     y="8"
+     width="438"
+     height="219"
+     id="rect3225"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <rect
+     x="8"
+     y="9"
+     width="436"
+     height="217"
+     id="rect3227"
+     style="fill:#c1daf1" />
+  <text
+     x="187"
+     y="23"
+     style="font-size:12px;font-family:SansSerif"
+     id="text3229">&lt;&lt;block&gt;&gt;</text>
+  <text
+     x="203"
+     y="41"
+     style="font-size:12px;font-family:SansSerif"
+     id="text3231">System</text>
+  <line
+     x1="7"
+     y1="47"
+     x2="445"
+     y2="47"
+     id="line3233"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="7"
+     y1="56"
+     x2="445"
+     y2="56"
+     id="line3235"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="7"
+     y1="65"
+     x2="445"
+     y2="65"
+     id="line3237"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <text
+     x="14"
+     y="81"
+     style="font-size:10px;font-family:SansSerif"
+     id="text3239">~ in chin(Message msg)</text>
+  <text
+     x="14"
+     y="94"
+     style="font-size:10px;font-family:SansSerif"
+     id="text3241">~ out chout(Message msg)</text>
+  <rect
+     x="249"
+     y="96"
+     width="139"
+     height="126"
+     id="rect3243"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <rect
+     x="250"
+     y="97"
+     width="137"
+     height="124"
+     id="rect3245"
+     style="fill:#c1daf1" />
+  <text
+     x="257"
+     y="111"
+     style="font-size:12px;font-family:SansSerif"
+     id="text3247">&lt;&lt;cryptoblock&gt;&gt;</text>
+  <text
+     x="311"
+     y="129"
+     style="font-size:12px;font-family:SansSerif"
+     id="text3249">T2</text>
+  <line
+     x1="249"
+     y1="135"
+     x2="388"
+     y2="135"
+     id="line3251"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <text
+     x="256"
+     y="151"
+     style="font-size:10px;font-family:SansSerif"
+     id="text3253">- m : Message;</text>
+  <text
+     x="256"
+     y="164"
+     style="font-size:10px;font-family:SansSerif"
+     id="text3255">- m2 : Message;</text>
+  <text
+     x="256"
+     y="177"
+     style="font-size:10px;font-family:SansSerif"
+     id="text3257">- sk : Key;</text>
+  <text
+     x="256"
+     y="190"
+     style="font-size:10px;font-family:SansSerif"
+     id="text3259">- receivedData : int;</text>
+  <line
+     x1="249"
+     y1="196"
+     x2="388"
+     y2="196"
+     id="line3261"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <text
+     x="256"
+     y="212"
+     style="font-size:10px;font-family:SansSerif"
+     id="text3263">- Message encrypt(Mes...</text>
+  <rect
+     x="22"
+     y="96"
+     width="215"
+     height="126"
+     id="rect3265"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <rect
+     x="23"
+     y="97"
+     width="213"
+     height="124"
+     id="rect3267"
+     style="fill:#c1daf1" />
+  <text
+     x="68"
+     y="111"
+     style="font-size:12px;font-family:SansSerif"
+     id="text3269">&lt;&lt;cryptoblock&gt;&gt;</text>
+  <text
+     x="122"
+     y="129"
+     style="font-size:12px;font-family:SansSerif"
+     id="text3271">T1</text>
+  <line
+     x1="22"
+     y1="135"
+     x2="237"
+     y2="135"
+     id="line3273"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <text
+     x="29"
+     y="151"
+     style="font-size:10px;font-family:SansSerif"
+     id="text3275">- secretData : int;</text>
+  <ellipse
+     cx="45"
+     cy="171"
+     rx="3"
+     ry="4"
+     id="ellipse3277"
+     sodipodi:cx="45"
+     sodipodi:cy="171"
+     sodipodi:rx="3"
+     sodipodi:ry="4"
+     style="fill:none;stroke:#000000;stroke-width:1"
+     transform="translate(-14,-26)" />
+  <rect
+     x="26"
+     y="145"
+     width="8"
+     height="6"
+     id="rect3279"
+     style="fill:#00ff00" />
+  <rect
+     x="26"
+     y="145"
+     width="9"
+     height="7"
+     id="rect3281"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <text
+     x="29"
+     y="164"
+     style="font-size:10px;font-family:SansSerif"
+     id="text3283">- m : Message;</text>
+  <text
+     x="29"
+     y="177"
+     style="font-size:10px;font-family:SansSerif"
+     id="text3285">- m1 : Message;</text>
+  <text
+     x="29"
+     y="190"
+     style="font-size:10px;font-family:SansSerif"
+     id="text3287">- sk : Key;</text>
+  <line
+     x1="22"
+     y1="196"
+     x2="237"
+     y2="196"
+     id="line3289"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <text
+     x="29"
+     y="212"
+     style="font-size:10px;font-family:SansSerif"
+     id="text3291">- Message encrypt(Message msg, Key k)</text>
+  <rect
+     x="54"
+     y="235"
+     width="123"
+     height="62"
+     id="rect3293"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <rect
+     x="55"
+     y="236"
+     width="121"
+     height="60"
+     id="rect3295"
+     style="fill:#9cdca2" />
+  <text
+     x="63"
+     y="250"
+     style="font-size:12px;font-family:SansSerif"
+     id="text3297">&lt;&lt;datatype&gt;&gt;</text>
+  <text
+     x="105"
+     y="265"
+     style="font-size:12px;font-family:SansSerif"
+     id="text3299">Key</text>
+  <line
+     x1="54"
+     y1="267"
+     x2="177"
+     y2="267"
+     id="line3301"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <text
+     x="61"
+     y="279"
+     style="font-size:10px;font-family:SansSerif"
+     id="text3303">- data : int;</text>
+  <rect
+     x="246"
+     y="236"
+     width="129"
+     height="61"
+     id="rect3305"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <rect
+     x="247"
+     y="237"
+     width="127"
+     height="59"
+     id="rect3307"
+     style="fill:#9cdca2" />
+  <text
+     x="258"
+     y="251"
+     style="font-size:12px;font-family:SansSerif"
+     id="text3309">&lt;&lt;datatype&gt;&gt;</text>
+  <text
+     x="282"
+     y="266"
+     style="font-size:12px;font-family:SansSerif"
+     id="text3311">Message</text>
+  <line
+     x1="246"
+     y1="268"
+     x2="375"
+     y2="268"
+     id="line3313"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <text
+     x="253"
+     y="280"
+     style="font-size:10px;font-family:SansSerif"
+     id="text3315">- data : int;</text>
+  <line
+     x1="503"
+     y1="17"
+     x2="777"
+     y2="17"
+     id="line3317"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="503"
+     y1="17"
+     x2="503"
+     y2="101"
+     id="line3319"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="503"
+     y1="101"
+     x2="762"
+     y2="101"
+     id="line3321"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="777"
+     y1="17"
+     x2="777"
+     y2="86"
+     id="line3323"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <polygon
+     points="791,112 776,127 518,127 518,44 791,44 "
+     id="polygon3325"
+     style="fill:#c8aac8"
+     transform="translate(-14,-26)" />
+  <polygon
+     points="791,112 787,115 781,114 776,127 "
+     id="polygon3327"
+     style="fill:none;stroke:#000000;stroke-width:1"
+     transform="translate(-14,-26)" />
+  <polygon
+     points="791,112 787,115 781,114 776,127 "
+     id="polygon3329"
+     style="fill:#640064"
+     transform="translate(-14,-26)" />
+  <text
+     x="528"
+     y="35"
+     style="font-size:14px;font-family:Dialog"
+     id="text3331">Model Pragmas</text>
+  <text
+     x="528"
+     y="48"
+     style="font-size:12px;font-family:SansSerif"
+     id="text3333">#InitialSystemKnowledge T1.sk T2.sk</text>
+  <text
+     x="542"
+     y="61"
+     style="font-size:12px;font-family:SansSerif"
+     id="text3335" />
+  <line
+     x1="503"
+     y1="58"
+     x2="777"
+     y2="58"
+     id="line3337"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <text
+     x="528"
+     y="74"
+     style="font-size:14px;font-family:Dialog"
+     id="text3339">Security Property</text>
+  <text
+     x="528"
+     y="87"
+     style="font-size:12px;font-family:SansSerif"
+     id="text3341">#Confidentiality T1.secretData</text>
+  <line
+     x1="445"
+     y1="62"
+     x2="476"
+     y2="62"
+     id="line3343"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="476"
+     y1="62"
+     x2="476"
+     y2="117"
+     id="line3345"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <rect
+     x="440"
+     y="112"
+     width="9"
+     height="9"
+     id="rect3347"
+     style="fill:#000000" />
+  <rect
+     x="440"
+     y="57"
+     width="9"
+     height="9"
+     id="rect3349"
+     style="fill:#000000" />
+  <polygon
+     points="480,133 473,115 466,133 "
+     id="polygon3351"
+     style="fill:#ffffff"
+     transform="translate(-14,-26)" />
+  <polygon
+     points="480,78 473,60 466,78 "
+     id="polygon3353"
+     style="fill:#ffffff"
+     transform="translate(-14,-26)" />
+  <polygon
+     points="480,133 473,115 466,133 "
+     id="polygon3355"
+     style="fill:none;stroke:#000000;stroke-width:1"
+     transform="translate(-14,-26)" />
+  <polygon
+     points="480,78 473,60 466,78 "
+     id="polygon3357"
+     style="fill:none;stroke:#000000;stroke-width:1"
+     transform="translate(-14,-26)" />
+  <ellipse
+     cx="473"
+     cy="129"
+     rx="4"
+     ry="3"
+     id="ellipse3359"
+     sodipodi:cx="473"
+     sodipodi:cy="129"
+     sodipodi:rx="4"
+     sodipodi:ry="3"
+     style="fill:none;stroke:#000000;stroke-width:1"
+     transform="translate(-14,-26)" />
+  <ellipse
+     cx="473"
+     cy="74"
+     rx="4"
+     ry="3"
+     id="ellipse3361"
+     sodipodi:cx="473"
+     sodipodi:cy="74"
+     sodipodi:rx="4"
+     sodipodi:ry="3"
+     style="fill:none;stroke:#000000;stroke-width:1"
+     transform="translate(-14,-26)" />
+  <ellipse
+     cx="473"
+     cy="129"
+     rx="2"
+     ry="2"
+     id="ellipse3363"
+     sodipodi:cx="473"
+     sodipodi:cy="129"
+     sodipodi:rx="2"
+     sodipodi:ry="2"
+     style="fill:#000000"
+     transform="translate(-14,-26)" />
+  <ellipse
+     cx="473"
+     cy="74"
+     rx="2"
+     ry="2"
+     id="ellipse3365"
+     sodipodi:cx="473"
+     sodipodi:cy="74"
+     sodipodi:rx="2"
+     sodipodi:ry="2"
+     style="fill:#000000"
+     transform="translate(-14,-26)" />
+  <line
+     x1="476"
+     y1="117"
+     x2="450"
+     y2="117"
+     id="line3367"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+</svg>
diff --git a/doc/SysMLSec/fig/design_t1.svg b/doc/SysMLSec/fig/design_t1.svg
new file mode 100644
index 0000000000000000000000000000000000000000..9a3df1c05951c15ceffce61a39ca6855c1507321
--- /dev/null
+++ b/doc/SysMLSec/fig/design_t1.svg
@@ -0,0 +1,374 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   version="1.1"
+   width="219"
+   height="435"
+   viewbox="331 45 223 436"
+   id="svg7731"
+   inkscape:version="0.48.5 r10040"
+   sodipodi:docname="design_t1.svg">
+  <metadata
+     id="metadata7831">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <defs
+     id="defs7829" />
+  <sodipodi:namedview
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1"
+     objecttolerance="10"
+     gridtolerance="10"
+     guidetolerance="10"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:window-width="640"
+     inkscape:window-height="480"
+     id="namedview7827"
+     showgrid="false"
+     inkscape:zoom="0.49064449"
+     inkscape:cx="277"
+     inkscape:cy="240.5"
+     inkscape:window-x="418"
+     inkscape:window-y="463"
+     inkscape:window-maximized="0"
+     inkscape:current-layer="svg7731" />
+  <ellipse
+     cx="407"
+     cy="57"
+     rx="7"
+     ry="7"
+     id="ellipse7733"
+     sodipodi:cx="407"
+     sodipodi:cy="57"
+     sodipodi:rx="7"
+     sodipodi:ry="7"
+     transform="translate(-330,-46)"
+     style="fill:#000000" />
+  <line
+     x1="77"
+     y1="19"
+     x2="77"
+     y2="24"
+     id="line7735"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <rect
+     x="10"
+     y="46"
+     width="134"
+     height="40"
+     rx="5"
+     ry="5"
+     id="rect7737"
+     style="fill:#c1daf1" />
+  <rect
+     x="10"
+     y="46"
+     width="134"
+     height="40"
+     rx="5"
+     ry="5"
+     id="rect7739"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <text
+     x="19"
+     y="61"
+     style="font-size:12px;font-family:SansSerif"
+     id="text7741">makingMessage</text>
+  <line
+     x1="10"
+     y1="63"
+     x2="144"
+     y2="63"
+     id="line7743"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <rect
+     x="6"
+     y="165"
+     width="143"
+     height="40"
+     rx="5"
+     ry="5"
+     id="rect7745"
+     style="fill:#c1daf1" />
+  <rect
+     x="6"
+     y="165"
+     width="143"
+     height="40"
+     rx="5"
+     ry="5"
+     id="rect7747"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <text
+     x="17"
+     y="180"
+     style="font-size:12px;font-family:SansSerif"
+     id="text7749">sendingMessage</text>
+  <line
+     x1="6"
+     y1="182"
+     x2="149"
+     y2="182"
+     id="line7751"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <ellipse
+     cx="407"
+     cy="466"
+     rx="8"
+     ry="8"
+     id="ellipse7753"
+     sodipodi:cx="407"
+     sodipodi:cy="466"
+     sodipodi:rx="8"
+     sodipodi:ry="8"
+     transform="translate(-330,-46)"
+     style="fill:#000000" />
+  <ellipse
+     cx="407"
+     cy="466"
+     rx="10"
+     ry="10"
+     id="ellipse7755"
+     sodipodi:cx="407"
+     sodipodi:cy="466"
+     sodipodi:rx="10"
+     sodipodi:ry="10"
+     transform="translate(-330,-46)"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="77"
+     y1="410"
+     x2="77"
+     y2="405"
+     id="line7757"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="77"
+     y1="239"
+     x2="77"
+     y2="234"
+     id="line7759"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="77"
+     y1="259"
+     x2="77"
+     y2="264"
+     id="line7761"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="41"
+     y1="240"
+     x2="106"
+     y2="240"
+     id="line7763"
+     style="fill:none;stroke:#80b4cd;stroke-width:1" />
+  <line
+     x1="41"
+     y1="260"
+     x2="106"
+     y2="260"
+     id="line7765"
+     style="fill:none;stroke:#80b4cd;stroke-width:1" />
+  <line
+     x1="41"
+     y1="240"
+     x2="41"
+     y2="260"
+     id="line7767"
+     style="fill:none;stroke:#80b4cd;stroke-width:1" />
+  <line
+     x1="106"
+     y1="240"
+     x2="116"
+     y2="250"
+     id="line7769"
+     style="fill:none;stroke:#80b4cd;stroke-width:1" />
+  <line
+     x1="106"
+     y1="260"
+     x2="116"
+     y2="250"
+     id="line7771"
+     style="fill:none;stroke:#80b4cd;stroke-width:1" />
+  <line
+     x1="40"
+     y1="239"
+     x2="105"
+     y2="239"
+     id="line7773"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="40"
+     y1="259"
+     x2="105"
+     y2="259"
+     id="line7775"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="40"
+     y1="239"
+     x2="40"
+     y2="259"
+     id="line7777"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="105"
+     y1="239"
+     x2="115"
+     y2="249"
+     id="line7779"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="105"
+     y1="259"
+     x2="115"
+     y2="249"
+     id="line7781"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <text
+     x="45"
+     y="254"
+     style="font-size:12px;font-family:SansSerif"
+     id="text7783">chout(m1)</text>
+  <rect
+     x="27"
+     y="310"
+     width="100"
+     height="50"
+     rx="5"
+     ry="5"
+     id="rect7785"
+     style="fill:#c1daf1" />
+  <rect
+     x="27"
+     y="310"
+     width="100"
+     height="50"
+     rx="5"
+     ry="5"
+     id="rect7787"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <text
+     x="32"
+     y="325"
+     style="font-size:12px;font-family:SansSerif"
+     id="text7789">beforeFinish</text>
+  <line
+     x1="27"
+     y1="327"
+     x2="127"
+     y2="327"
+     id="line7791"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="77"
+     y1="24"
+     x2="77"
+     y2="46"
+     id="line7793"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <polygon
+     points="411,83 407,92 402,83 "
+     id="polygon7795"
+     transform="translate(-330,-46)"
+     style="fill:#000000" />
+  <polygon
+     points="411,83 407,92 402,83 "
+     id="polygon7797"
+     transform="translate(-330,-46)"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="77"
+     y1="86"
+     x2="77"
+     y2="165"
+     id="line7799"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <polygon
+     points="411,202 407,211 402,202 "
+     id="polygon7801"
+     transform="translate(-330,-46)"
+     style="fill:#000000" />
+  <polygon
+     points="411,202 407,211 402,202 "
+     id="polygon7803"
+     transform="translate(-330,-46)"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <text
+     x="85"
+     y="116"
+     style="font-size:12px;font-family:SansSerif"
+     id="text7805">m.data = secretData</text>
+  <text
+     x="85"
+     y="131"
+     style="font-size:12px;font-family:SansSerif"
+     id="text7807">m1 = sencrypt(m, sk)</text>
+  <line
+     x1="77"
+     y1="205"
+     x2="77"
+     y2="234"
+     id="line7809"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <polygon
+     points="411,271 407,280 402,271 "
+     id="polygon7811"
+     transform="translate(-330,-46)"
+     style="fill:#000000" />
+  <polygon
+     points="411,271 407,280 402,271 "
+     id="polygon7813"
+     transform="translate(-330,-46)"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="77"
+     y1="360"
+     x2="77"
+     y2="405"
+     id="line7815"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <polygon
+     points="411,442 407,451 402,442 "
+     id="polygon7817"
+     transform="translate(-330,-46)"
+     style="fill:#000000" />
+  <polygon
+     points="411,442 407,451 402,442 "
+     id="polygon7819"
+     transform="translate(-330,-46)"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="77"
+     y1="264"
+     x2="77"
+     y2="310"
+     id="line7821"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <polygon
+     points="411,347 407,356 402,347 "
+     id="polygon7823"
+     transform="translate(-330,-46)"
+     style="fill:#000000" />
+  <polygon
+     points="411,347 407,356 402,347 "
+     id="polygon7825"
+     transform="translate(-330,-46)"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+</svg>
diff --git a/doc/SysMLSec/fig/design_t2.svg b/doc/SysMLSec/fig/design_t2.svg
new file mode 100644
index 0000000000000000000000000000000000000000..7ab184a8cc92f4d72b2c0435f21c5933861b53e2
--- /dev/null
+++ b/doc/SysMLSec/fig/design_t2.svg
@@ -0,0 +1,373 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   version="1.1"
+   width="265"
+   height="425"
+   viewbox="313 45 268 424"
+   id="svg7972"
+   inkscape:version="0.48.5 r10040"
+   sodipodi:docname="design_t2.svg">
+  <metadata
+     id="metadata8074">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <defs
+     id="defs8072" />
+  <sodipodi:namedview
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1"
+     objecttolerance="10"
+     gridtolerance="10"
+     guidetolerance="10"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:window-width="1144"
+     inkscape:window-height="794"
+     id="namedview8070"
+     showgrid="false"
+     inkscape:zoom="1.4232597"
+     inkscape:cx="219.993"
+     inkscape:cy="243.15704"
+     inkscape:window-x="862"
+     inkscape:window-y="543"
+     inkscape:window-maximized="0"
+     inkscape:current-layer="svg7972" />
+  <ellipse
+     cx="407"
+     cy="57"
+     rx="7"
+     ry="7"
+     id="ellipse7974"
+     sodipodi:cx="407"
+     sodipodi:cy="57"
+     sodipodi:rx="7"
+     sodipodi:ry="7"
+     transform="translate(-310.01695,-45.987288)"
+     style="fill:#000000" />
+  <line
+     x1="96.983047"
+     y1="19.012711"
+     x2="96.983047"
+     y2="24.012711"
+     id="line7976"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <rect
+     x="22.983051"
+     y="56.012711"
+     width="149"
+     height="39"
+     rx="5"
+     ry="5"
+     id="rect7978"
+     style="fill:#c1daf1" />
+  <rect
+     x="22.983051"
+     y="56.012711"
+     width="149"
+     height="39"
+     rx="5"
+     ry="5"
+     id="rect7980"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <text
+     x="38.983051"
+     y="71.012711"
+     style="font-size:12px;font-family:SansSerif"
+     id="text7982">waitingForMessage</text>
+  <line
+     x1="22.983051"
+     y1="73.012711"
+     x2="171.98305"
+     y2="73.012711"
+     id="line7984"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="96.983047"
+     y1="130.01271"
+     x2="96.983047"
+     y2="125.01271"
+     id="line7986"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="96.983047"
+     y1="150.01271"
+     x2="96.983047"
+     y2="155.01271"
+     id="line7988"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="61.983051"
+     y1="131.01271"
+     x2="134.98305"
+     y2="131.01271"
+     id="line7990"
+     style="fill:none;stroke:#80b4cd;stroke-width:1" />
+  <line
+     x1="134.98305"
+     y1="131.01271"
+     x2="134.98305"
+     y2="151.01271"
+     id="line7992"
+     style="fill:none;stroke:#80b4cd;stroke-width:1" />
+  <line
+     x1="61.983051"
+     y1="151.01271"
+     x2="134.98305"
+     y2="151.01271"
+     id="line7994"
+     style="fill:none;stroke:#80b4cd;stroke-width:1" />
+  <line
+     x1="61.983051"
+     y1="131.01271"
+     x2="71.983047"
+     y2="141.01271"
+     id="line7996"
+     style="fill:none;stroke:#80b4cd;stroke-width:1" />
+  <line
+     x1="61.983051"
+     y1="151.01271"
+     x2="71.983047"
+     y2="141.01271"
+     id="line7998"
+     style="fill:none;stroke:#80b4cd;stroke-width:1" />
+  <line
+     x1="60.983051"
+     y1="130.01271"
+     x2="133.98305"
+     y2="130.01271"
+     id="line8000"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="133.98305"
+     y1="130.01271"
+     x2="133.98305"
+     y2="150.01271"
+     id="line8002"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="60.983051"
+     y1="150.01271"
+     x2="133.98305"
+     y2="150.01271"
+     id="line8004"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="60.983051"
+     y1="130.01271"
+     x2="70.983047"
+     y2="140.01271"
+     id="line8006"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="60.983051"
+     y1="150.01271"
+     x2="70.983047"
+     y2="140.01271"
+     id="line8008"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <text
+     x="72.983047"
+     y="145.01271"
+     style="font-size:12px;font-family:SansSerif"
+     id="text8010">chin(m2)</text>
+  <rect
+     x="25.983051"
+     y="187.01271"
+     width="142"
+     height="40"
+     rx="5"
+     ry="5"
+     id="rect8012"
+     style="fill:#c1daf1" />
+  <rect
+     x="25.983051"
+     y="187.01271"
+     width="142"
+     height="40"
+     rx="5"
+     ry="5"
+     id="rect8014"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <text
+     x="36.983051"
+     y="202.01271"
+     style="font-size:12px;font-family:SansSerif"
+     id="text8016">messageDecrypt</text>
+  <line
+     x1="25.983051"
+     y1="204.01271"
+     x2="167.98305"
+     y2="204.01271"
+     id="line8018"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <rect
+     x="26.983051"
+     y="378.01273"
+     width="140"
+     height="40"
+     rx="5"
+     ry="5"
+     id="rect8020"
+     style="fill:#c1daf1" />
+  <rect
+     x="26.983051"
+     y="378.01273"
+     width="140"
+     height="40"
+     rx="5"
+     ry="5"
+     id="rect8022"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <text
+     x="33.983051"
+     y="393.01273"
+     style="font-size:12px;font-family:SansSerif"
+     id="text8024">SecretDataReceived</text>
+  <line
+     x1="26.983051"
+     y1="395.01273"
+     x2="166.98305"
+     y2="395.01273"
+     id="line8026"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <rect
+     x="7.9830508"
+     y="293.01273"
+     width="178"
+     height="40"
+     rx="5"
+     ry="5"
+     id="rect8028"
+     style="fill:#c1daf1" />
+  <rect
+     x="7.9830508"
+     y="293.01273"
+     width="178"
+     height="40"
+     rx="5"
+     ry="5"
+     id="rect8030"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <text
+     x="27.983051"
+     y="308.01273"
+     style="font-size:12px;font-family:SansSerif"
+     id="text8032">messageDecrypted</text>
+  <line
+     x1="7.9830508"
+     y1="310.01273"
+     x2="185.98305"
+     y2="310.01273"
+     id="line8034"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="96.983047"
+     y1="24.012711"
+     x2="96.983047"
+     y2="56.012711"
+     id="line8036"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <polygon
+     points="402,93 411,93 407,102 "
+     id="polygon8038"
+     transform="translate(-310.01695,-45.987288)"
+     style="fill:#000000" />
+  <polygon
+     points="402,93 411,93 407,102 "
+     id="polygon8040"
+     transform="translate(-310.01695,-45.987288)"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="96.983047"
+     y1="95.012711"
+     x2="96.983047"
+     y2="125.01271"
+     id="line8042"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <polygon
+     points="402,162 411,162 407,171 "
+     id="polygon8044"
+     transform="translate(-310.01695,-45.987288)"
+     style="fill:#000000" />
+  <polygon
+     points="402,162 411,162 407,171 "
+     id="polygon8046"
+     transform="translate(-310.01695,-45.987288)"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="96.983047"
+     y1="155.01271"
+     x2="96.983047"
+     y2="187.01271"
+     id="line8048"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <polygon
+     points="402,224 411,224 407,233 "
+     id="polygon8050"
+     transform="translate(-310.01695,-45.987288)"
+     style="fill:#000000" />
+  <polygon
+     points="402,224 411,224 407,233 "
+     id="polygon8052"
+     transform="translate(-310.01695,-45.987288)"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="96.983047"
+     y1="227.01273"
+     x2="96.983047"
+     y2="293.01273"
+     id="line8054"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <polygon
+     points="402,330 411,330 407,339 "
+     id="polygon8056"
+     transform="translate(-310.01695,-45.987288)"
+     style="fill:#000000" />
+  <polygon
+     points="402,330 411,330 407,339 "
+     id="polygon8058"
+     transform="translate(-310.01695,-45.987288)"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <text
+     x="108.98305"
+     y="266.01273"
+     style="font-size:12px;font-family:SansSerif"
+     id="text8060">m = sdecrypt(m2, sk)</text>
+  <line
+     x1="96.983047"
+     y1="333.01273"
+     x2="96.983047"
+     y2="378.01273"
+     id="line8062"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <polygon
+     points="402,415 411,415 407,424 "
+     id="polygon8064"
+     transform="translate(-310.01695,-45.987288)"
+     style="fill:#000000" />
+  <polygon
+     points="402,415 411,415 407,424 "
+     id="polygon8066"
+     transform="translate(-310.01695,-45.987288)"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <text
+     x="120.98305"
+     y="357.01273"
+     style="font-size:12px;font-family:SansSerif"
+     id="text8068">receivedData = m.data</text>
+</svg>
diff --git a/doc/SysMLSec/fig/fv1.svg b/doc/SysMLSec/fig/fv1.svg
new file mode 100644
index 0000000000000000000000000000000000000000..e6d2493aee7166d391926cecf137d395d235ddbd
--- /dev/null
+++ b/doc/SysMLSec/fig/fv1.svg
@@ -0,0 +1,203 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   version="1.1"
+   width="570"
+   height="167"
+   viewbox="201 125 569 162"
+   id="svg3867"
+   inkscape:version="0.48.5 r10040"
+   sodipodi:docname="fv1.svg">
+  <metadata
+     id="metadata3921">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <defs
+     id="defs3919" />
+  <sodipodi:namedview
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1"
+     objecttolerance="10"
+     gridtolerance="10"
+     guidetolerance="10"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:window-width="640"
+     inkscape:window-height="480"
+     id="namedview3917"
+     showgrid="false"
+     inkscape:zoom="0.42467532"
+     inkscape:cx="385"
+     inkscape:cy="143.5"
+     inkscape:window-x="894"
+     inkscape:window-y="514"
+     inkscape:window-maximized="0"
+     inkscape:current-layer="svg3867" />
+  <rect
+     x="6"
+     y="8"
+     width="200"
+     height="150"
+     id="rect3869"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <rect
+     x="7"
+     y="9"
+     width="198"
+     height="148"
+     id="rect3871"
+     style="fill:#c9f3bc" />
+  <text
+     x="97"
+     y="37"
+     style="font-size:14px;font-family:SansSerif"
+     id="text3873">T1</text>
+  <rect
+     x="193"
+     y="63"
+     width="25"
+     height="25"
+     id="rect3875"
+     style="fill:#68e5ff" />
+  <rect
+     x="193"
+     y="63"
+     width="26"
+     height="26"
+     id="rect3877"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <polygon
+     points="416,198 396,188 396,208 "
+     id="polygon3879"
+     style="fill:none;stroke:#000000;stroke-width:1"
+     transform="translate(-200,-122)" />
+  <polygon
+     points="416,198 396,188 396,208 "
+     id="polygon3881"
+     style="fill:#000000"
+     transform="translate(-200,-122)" />
+  <line
+     x1="216"
+     y1="86"
+     x2="216"
+     y2="66"
+     id="line3883"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <text
+     x="193"
+     y="62"
+     style="font-size:8px;font-family:SansSerif"
+     id="text3885">comm</text>
+  <text
+     x="175"
+     y="56"
+     style="font-size:8px;font-family:SansSerif"
+     id="text3887">???</text>
+  <ellipse
+     cx="384"
+     cy="189"
+     rx="3"
+     ry="4"
+     id="ellipse3889"
+     sodipodi:cx="384"
+     sodipodi:cy="189"
+     sodipodi:rx="3"
+     sodipodi:ry="4"
+     style="fill:none;stroke:#000000;stroke-width:1"
+     transform="translate(-200,-122)" />
+  <rect
+     x="180"
+     y="66"
+     width="8"
+     height="6"
+     id="rect3891"
+     style="fill:#808080" />
+  <rect
+     x="180"
+     y="66"
+     width="9"
+     height="7"
+     id="rect3893"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <rect
+     x="365"
+     y="10"
+     width="200"
+     height="150"
+     id="rect3895"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <rect
+     x="366"
+     y="11"
+     width="198"
+     height="148"
+     id="rect3897"
+     style="fill:#c9f3bc" />
+  <text
+     x="456"
+     y="39"
+     style="font-size:14px;font-family:SansSerif"
+     id="text3899">T2</text>
+  <rect
+     x="352"
+     y="63"
+     width="25"
+     height="25"
+     id="rect3901"
+     style="fill:#68e5ff" />
+  <rect
+     x="352"
+     y="63"
+     width="26"
+     height="26"
+     id="rect3903"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <polygon
+     points="575,198 555,188 555,208 "
+     id="polygon3905"
+     style="fill:none;stroke:#000000;stroke-width:1"
+     transform="translate(-200,-122)" />
+  <polygon
+     points="575,198 555,188 555,208 "
+     id="polygon3907"
+     style="fill:#000000"
+     transform="translate(-200,-122)" />
+  <line
+     x1="375"
+     y1="86"
+     x2="375"
+     y2="66"
+     id="line3909"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <text
+     x="352"
+     y="62"
+     style="font-size:8px;font-family:SansSerif"
+     id="text3911">comm</text>
+  <text
+     x="267"
+     y="76"
+     style="font-size:12px;font-family:SansSerif"
+     id="text3913">comm</text>
+  <line
+     x1="219"
+     y1="76"
+     x2="352"
+     y2="76"
+     id="line3915"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+</svg>
diff --git a/doc/SysMLSec/fig/fv1_results.svg b/doc/SysMLSec/fig/fv1_results.svg
new file mode 100644
index 0000000000000000000000000000000000000000..8180fa33b62324edc8bfd3b48ea1e514d14636f6
--- /dev/null
+++ b/doc/SysMLSec/fig/fv1_results.svg
@@ -0,0 +1,217 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   version="1.1"
+   width="580"
+   height="170"
+   viewbox="201 125 569 162"
+   id="svg5339"
+   inkscape:version="0.48.5 r10040"
+   sodipodi:docname="fv1_results.svg">
+  <metadata
+     id="metadata5397">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <defs
+     id="defs5395" />
+  <sodipodi:namedview
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1"
+     objecttolerance="10"
+     gridtolerance="10"
+     guidetolerance="10"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:window-width="640"
+     inkscape:window-height="480"
+     id="namedview5393"
+     showgrid="false"
+     inkscape:zoom="0.42467532"
+     inkscape:cx="385"
+     inkscape:cy="143.5"
+     inkscape:window-x="1181"
+     inkscape:window-y="546"
+     inkscape:window-maximized="0"
+     inkscape:current-layer="svg5339" />
+  <rect
+     x="8"
+     y="11"
+     width="200"
+     height="150"
+     id="rect5341"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <rect
+     x="9"
+     y="12"
+     width="198"
+     height="148"
+     id="rect5343"
+     style="fill:#c9f3bc" />
+  <text
+     x="99"
+     y="40"
+     style="font-size:14px;font-family:SansSerif"
+     id="text5345">T1</text>
+  <rect
+     x="195"
+     y="66"
+     width="25"
+     height="25"
+     id="rect5347"
+     style="fill:#68e5ff" />
+  <rect
+     x="195"
+     y="66"
+     width="26"
+     height="26"
+     id="rect5349"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <polygon
+     points="396,208 416,198 396,188 "
+     id="polygon5351"
+     style="fill:none;stroke:#000000;stroke-width:1"
+     transform="translate(-198,-119)" />
+  <polygon
+     points="396,208 416,198 396,188 "
+     id="polygon5353"
+     style="fill:#000000"
+     transform="translate(-198,-119)" />
+  <line
+     x1="218"
+     y1="89"
+     x2="218"
+     y2="69"
+     id="line5355"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <text
+     x="195"
+     y="65"
+     style="font-size:8px;font-family:SansSerif"
+     id="text5357">comm</text>
+  <text
+     x="177"
+     y="59"
+     style="font-size:8px;font-family:SansSerif"
+     id="text5359">NonSecureArchitectureWithNonSecureFV</text>
+  <ellipse
+     cx="384"
+     cy="189"
+     rx="3"
+     ry="4"
+     id="ellipse5361"
+     sodipodi:cx="384"
+     sodipodi:cy="189"
+     sodipodi:rx="3"
+     sodipodi:ry="4"
+     style="fill:none;stroke:#000000;stroke-width:1"
+     transform="translate(-198,-119)" />
+  <rect
+     x="182"
+     y="69"
+     width="8"
+     height="6"
+     id="rect5363"
+     style="fill:#ff0000" />
+  <rect
+     x="182"
+     y="69"
+     width="9"
+     height="7"
+     id="rect5365"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="177"
+     y1="66"
+     x2="195"
+     y2="80"
+     id="line5367"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="177"
+     y1="80"
+     x2="195"
+     y2="66"
+     id="line5369"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <rect
+     x="367"
+     y="13"
+     width="200"
+     height="150"
+     id="rect5371"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <rect
+     x="368"
+     y="14"
+     width="198"
+     height="148"
+     id="rect5373"
+     style="fill:#c9f3bc" />
+  <text
+     x="458"
+     y="42"
+     style="font-size:14px;font-family:SansSerif"
+     id="text5375">T2</text>
+  <rect
+     x="354"
+     y="66"
+     width="25"
+     height="25"
+     id="rect5377"
+     style="fill:#68e5ff" />
+  <rect
+     x="354"
+     y="66"
+     width="26"
+     height="26"
+     id="rect5379"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <polygon
+     points="555,208 575,198 555,188 "
+     id="polygon5381"
+     style="fill:none;stroke:#000000;stroke-width:1"
+     transform="translate(-198,-119)" />
+  <polygon
+     points="555,208 575,198 555,188 "
+     id="polygon5383"
+     style="fill:#000000"
+     transform="translate(-198,-119)" />
+  <line
+     x1="377"
+     y1="89"
+     x2="377"
+     y2="69"
+     id="line5385"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <text
+     x="354"
+     y="65"
+     style="font-size:8px;font-family:SansSerif"
+     id="text5387">comm</text>
+  <text
+     x="269"
+     y="79"
+     style="font-size:12px;font-family:SansSerif"
+     id="text5389">comm</text>
+  <line
+     x1="221"
+     y1="79"
+     x2="354"
+     y2="79"
+     id="line5391"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+</svg>
diff --git a/doc/SysMLSec/fig/fv1_t1.svg b/doc/SysMLSec/fig/fv1_t1.svg
new file mode 100644
index 0000000000000000000000000000000000000000..49586040b15670453afd9182c0411e400b19a3cf
--- /dev/null
+++ b/doc/SysMLSec/fig/fv1_t1.svg
@@ -0,0 +1,228 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   version="1.1"
+   width="80"
+   height="160"
+   viewbox="377 46 75 154"
+   id="svg4080"
+   inkscape:version="0.48.5 r10040"
+   sodipodi:docname="fv1_t1.svg">
+  <metadata
+     id="metadata4136">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <defs
+     id="defs4134" />
+  <sodipodi:namedview
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1"
+     objecttolerance="10"
+     gridtolerance="10"
+     guidetolerance="10"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:window-width="640"
+     inkscape:window-height="480"
+     id="namedview4132"
+     showgrid="false"
+     inkscape:zoom="0.72345133"
+     inkscape:cx="226"
+     inkscape:cy="100"
+     inkscape:window-x="1074"
+     inkscape:window-y="583"
+     inkscape:window-maximized="0"
+     inkscape:current-layer="svg4080" />
+  <line
+     x1="38.024464"
+     y1="89.119263"
+     x2="38.024464"
+     y2="123.11926"
+     id="line4082"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <polygon
+     points="409,161 418,161 414,170 "
+     id="polygon4084"
+     style="fill:#000000"
+     transform="translate(-375.97554,-46.880734)" />
+  <polygon
+     points="409,161 418,161 414,170 "
+     id="polygon4086"
+     style="fill:none;stroke:#000000;stroke-width:1"
+     transform="translate(-375.97554,-46.880734)" />
+  <line
+     x1="38.024464"
+     y1="24.119267"
+     x2="38.024464"
+     y2="59.119267"
+     id="line4088"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <polygon
+     points="409,97 418,97 414,106 "
+     id="polygon4090"
+     style="fill:#000000"
+     transform="translate(-375.97554,-46.880734)" />
+  <polygon
+     points="409,97 418,97 414,106 "
+     id="polygon4092"
+     style="fill:none;stroke:#000000;stroke-width:1"
+     transform="translate(-375.97554,-46.880734)" />
+  <ellipse
+     cx="414"
+     cy="58"
+     rx="7"
+     ry="7"
+     id="ellipse4094"
+     sodipodi:cx="414"
+     sodipodi:cy="58"
+     sodipodi:rx="7"
+     sodipodi:ry="7"
+     style="fill:#000000"
+     transform="translate(-375.97554,-46.880734)" />
+  <line
+     x1="38.024464"
+     y1="19.119267"
+     x2="38.024464"
+     y2="24.119267"
+     id="line4096"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="38.024464"
+     y1="64.119263"
+     x2="38.024464"
+     y2="59.119267"
+     id="line4098"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="38.024464"
+     y1="84.119263"
+     x2="38.024464"
+     y2="89.119263"
+     id="line4100"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="7.0244646"
+     y1="65.119263"
+     x2="62.024464"
+     y2="65.119263"
+     id="line4102"
+     style="fill:none;stroke:#68e5ff;stroke-width:1" />
+  <line
+     x1="7.0244646"
+     y1="85.119263"
+     x2="62.024464"
+     y2="85.119263"
+     id="line4104"
+     style="fill:none;stroke:#68e5ff;stroke-width:1" />
+  <line
+     x1="7.0244646"
+     y1="65.119263"
+     x2="7.0244646"
+     y2="85.119263"
+     id="line4106"
+     style="fill:none;stroke:#68e5ff;stroke-width:1" />
+  <line
+     x1="62.024464"
+     y1="65.119263"
+     x2="72.024467"
+     y2="75.119263"
+     id="line4108"
+     style="fill:none;stroke:#68e5ff;stroke-width:1" />
+  <line
+     x1="62.024464"
+     y1="85.119263"
+     x2="72.024467"
+     y2="75.119263"
+     id="line4110"
+     style="fill:none;stroke:#68e5ff;stroke-width:1" />
+  <line
+     x1="6.0244646"
+     y1="64.119263"
+     x2="61.024464"
+     y2="64.119263"
+     id="line4112"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="6.0244646"
+     y1="84.119263"
+     x2="61.024464"
+     y2="84.119263"
+     id="line4114"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="6.0244646"
+     y1="64.119263"
+     x2="6.0244646"
+     y2="84.119263"
+     id="line4116"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="61.024464"
+     y1="64.119263"
+     x2="71.024467"
+     y2="74.119263"
+     id="line4118"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="61.024464"
+     y1="84.119263"
+     x2="71.024467"
+     y2="74.119263"
+     id="line4120"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <text
+     x="11.024465"
+     y="64.119263"
+     style="font-size:12px;font-family:SansSerif"
+     id="text4122">chl</text>
+  <text
+     x="11.024465"
+     y="79.119263"
+     style="font-size:12px;font-family:SansSerif"
+     id="text4124">comm(1)</text>
+  <ellipse
+     cx="414"
+     cy="185"
+     rx="8"
+     ry="8"
+     id="ellipse4126"
+     sodipodi:cx="414"
+     sodipodi:cy="185"
+     sodipodi:rx="8"
+     sodipodi:ry="8"
+     style="fill:#000000"
+     transform="translate(-375.97554,-46.880734)" />
+  <ellipse
+     cx="414"
+     cy="185"
+     rx="10"
+     ry="10"
+     id="ellipse4128"
+     sodipodi:cx="414"
+     sodipodi:cy="185"
+     sodipodi:rx="10"
+     sodipodi:ry="10"
+     style="fill:none;stroke:#000000;stroke-width:1"
+     transform="translate(-375.97554,-46.880734)" />
+  <line
+     x1="38.024464"
+     y1="128.11926"
+     x2="38.024464"
+     y2="123.11926"
+     id="line4130"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+</svg>
diff --git a/doc/SysMLSec/fig/fv1_t1_results.svg b/doc/SysMLSec/fig/fv1_t1_results.svg
new file mode 100644
index 0000000000000000000000000000000000000000..a37a0fd28d400fb5265b251ad8474d9e03212fbd
--- /dev/null
+++ b/doc/SysMLSec/fig/fv1_t1_results.svg
@@ -0,0 +1,276 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   version="1.1"
+   width="100"
+   height="150"
+   viewbox="377 46 75 154"
+   id="svg5536"
+   inkscape:version="0.48.5 r10040"
+   sodipodi:docname="fv1_t1_results.svg">
+  <metadata
+     id="metadata5606">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <defs
+     id="defs5604" />
+  <sodipodi:namedview
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1"
+     objecttolerance="10"
+     gridtolerance="10"
+     guidetolerance="10"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:window-width="640"
+     inkscape:window-height="480"
+     id="namedview5602"
+     showgrid="false"
+     inkscape:zoom="0.72345133"
+     inkscape:cx="226"
+     inkscape:cy="100"
+     inkscape:window-x="1107"
+     inkscape:window-y="607"
+     inkscape:window-maximized="0"
+     inkscape:current-layer="svg5536" />
+  <line
+     x1="64.28746"
+     y1="87.382263"
+     x2="64.28746"
+     y2="121.38226"
+     id="line5538"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <polygon
+     points="409,161 418,161 414,170 "
+     id="polygon5540"
+     style="fill:#000000"
+     transform="translate(-349.71254,-48.617737)" />
+  <polygon
+     points="409,161 418,161 414,170 "
+     id="polygon5542"
+     style="fill:none;stroke:#000000;stroke-width:1"
+     transform="translate(-349.71254,-48.617737)" />
+  <line
+     x1="64.28746"
+     y1="22.382263"
+     x2="64.28746"
+     y2="57.382263"
+     id="line5544"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <polygon
+     points="409,97 418,97 414,106 "
+     id="polygon5546"
+     style="fill:#000000"
+     transform="translate(-349.71254,-48.617737)" />
+  <polygon
+     points="409,97 418,97 414,106 "
+     id="polygon5548"
+     style="fill:none;stroke:#000000;stroke-width:1"
+     transform="translate(-349.71254,-48.617737)" />
+  <ellipse
+     cx="414"
+     cy="58"
+     rx="7"
+     ry="7"
+     id="ellipse5550"
+     sodipodi:cx="414"
+     sodipodi:cy="58"
+     sodipodi:rx="7"
+     sodipodi:ry="7"
+     style="fill:#000000"
+     transform="translate(-349.71254,-48.617737)" />
+  <line
+     x1="64.28746"
+     y1="17.382263"
+     x2="64.28746"
+     y2="22.382263"
+     id="line5552"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <polygon
+     points="437,111 447,121 437,131 382,131 382,111 "
+     id="polygon5554"
+     style="fill:#68e5ff"
+     transform="translate(-349.71254,-48.617737)" />
+  <line
+     x1="64.28746"
+     y1="62.382263"
+     x2="64.28746"
+     y2="57.382263"
+     id="line5556"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="64.28746"
+     y1="82.382263"
+     x2="64.28746"
+     y2="87.382263"
+     id="line5558"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="33.28746"
+     y1="63.382263"
+     x2="88.28746"
+     y2="63.382263"
+     id="line5560"
+     style="fill:none;stroke:#68e5ff;stroke-width:1" />
+  <line
+     x1="33.28746"
+     y1="83.382263"
+     x2="88.28746"
+     y2="83.382263"
+     id="line5562"
+     style="fill:none;stroke:#68e5ff;stroke-width:1" />
+  <line
+     x1="33.28746"
+     y1="63.382263"
+     x2="33.28746"
+     y2="83.382263"
+     id="line5564"
+     style="fill:none;stroke:#68e5ff;stroke-width:1" />
+  <line
+     x1="88.28746"
+     y1="63.382263"
+     x2="98.28746"
+     y2="73.382263"
+     id="line5566"
+     style="fill:none;stroke:#68e5ff;stroke-width:1" />
+  <line
+     x1="88.28746"
+     y1="83.382263"
+     x2="98.28746"
+     y2="73.382263"
+     id="line5568"
+     style="fill:none;stroke:#68e5ff;stroke-width:1" />
+  <line
+     x1="32.28746"
+     y1="62.382263"
+     x2="87.28746"
+     y2="62.382263"
+     id="line5570"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="32.28746"
+     y1="82.382263"
+     x2="87.28746"
+     y2="82.382263"
+     id="line5572"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="32.28746"
+     y1="62.382263"
+     x2="32.28746"
+     y2="82.382263"
+     id="line5574"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="87.28746"
+     y1="62.382263"
+     x2="97.28746"
+     y2="72.382263"
+     id="line5576"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="87.28746"
+     y1="82.382263"
+     x2="97.28746"
+     y2="72.382263"
+     id="line5578"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <text
+     x="37.28746"
+     y="62.382263"
+     style="font-size:12px;font-family:SansSerif"
+     id="text5580">chl</text>
+  <text
+     x="37.28746"
+     y="77.382263"
+     style="font-size:12px;font-family:SansSerif"
+     id="text5582">comm(1)</text>
+  <line
+     x1="2.2874618"
+     y1="59.382263"
+     x2="17.287462"
+     y2="59.382263"
+     id="line5584"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <polygon
+     points="358,112 358,103 367,108 "
+     id="polygon5586"
+     style="fill:#000000"
+     transform="translate(-349.71254,-48.617737)" />
+  <polygon
+     points="358,112 358,103 367,108 "
+     id="polygon5588"
+     style="fill:none;stroke:#000000;stroke-width:1"
+     transform="translate(-349.71254,-48.617737)" />
+  <ellipse
+     cx="374"
+     cy="105"
+     rx="3"
+     ry="4"
+     id="ellipse5590"
+     sodipodi:cx="374"
+     sodipodi:cy="105"
+     sodipodi:rx="3"
+     sodipodi:ry="4"
+     style="fill:none;stroke:#000000;stroke-width:1"
+     transform="translate(-349.71254,-48.617737)" />
+  <rect
+     x="20.287462"
+     y="55.382263"
+     width="8"
+     height="6"
+     id="rect5592"
+     style="fill:#00ff00" />
+  <rect
+     x="20.287462"
+     y="55.382263"
+     width="9"
+     height="7"
+     id="rect5594"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <ellipse
+     cx="414"
+     cy="185"
+     rx="8"
+     ry="8"
+     id="ellipse5596"
+     sodipodi:cx="414"
+     sodipodi:cy="185"
+     sodipodi:rx="8"
+     sodipodi:ry="8"
+     style="fill:#000000"
+     transform="translate(-349.71254,-48.617737)" />
+  <ellipse
+     cx="414"
+     cy="185"
+     rx="10"
+     ry="10"
+     id="ellipse5598"
+     sodipodi:cx="414"
+     sodipodi:cy="185"
+     sodipodi:rx="10"
+     sodipodi:ry="10"
+     style="fill:none;stroke:#000000;stroke-width:1"
+     transform="translate(-349.71254,-48.617737)" />
+  <line
+     x1="64.28746"
+     y1="126.38226"
+     x2="64.28746"
+     y2="121.38226"
+     id="line5600"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+</svg>
diff --git a/doc/SysMLSec/fig/fv1_t2.svg b/doc/SysMLSec/fig/fv1_t2.svg
new file mode 100644
index 0000000000000000000000000000000000000000..3115434024c302ab07eb05d0cfde4c9ec217eae4
--- /dev/null
+++ b/doc/SysMLSec/fig/fv1_t2.svg
@@ -0,0 +1,228 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   version="1.1"
+   width="80"
+   height="170"
+   viewbox="377 49 79 170"
+   id="svg4295"
+   inkscape:version="0.48.5 r10040"
+   sodipodi:docname="fv1_t2.svg">
+  <metadata
+     id="metadata4351">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <defs
+     id="defs4349" />
+  <sodipodi:namedview
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1"
+     objecttolerance="10"
+     gridtolerance="10"
+     guidetolerance="10"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:window-width="640"
+     inkscape:window-height="480"
+     id="namedview4347"
+     showgrid="false"
+     inkscape:zoom="0.71710526"
+     inkscape:cx="228"
+     inkscape:cy="102.9481"
+     inkscape:window-x="1128"
+     inkscape:window-y="735"
+     inkscape:window-maximized="0"
+     inkscape:current-layer="svg4295" />
+  <line
+     x1="38.27523"
+     y1="94.788994"
+     x2="38.27523"
+     y2="140.78899"
+     id="line4297"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <polygon
+     points="411,180 420,180 416,189 "
+     id="polygon4299"
+     style="fill:#000000"
+     transform="translate(-377.72477,-48.211009)" />
+  <polygon
+     points="411,180 420,180 416,189 "
+     id="polygon4301"
+     style="fill:none;stroke:#000000;stroke-width:1"
+     transform="translate(-377.72477,-48.211009)" />
+  <line
+     x1="38.27523"
+     y1="25.78899"
+     x2="38.27523"
+     y2="64.788994"
+     id="line4303"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <polygon
+     points="411,104 420,104 416,113 "
+     id="polygon4305"
+     style="fill:#000000"
+     transform="translate(-377.72477,-48.211009)" />
+  <polygon
+     points="411,104 420,104 416,113 "
+     id="polygon4307"
+     style="fill:none;stroke:#000000;stroke-width:1"
+     transform="translate(-377.72477,-48.211009)" />
+  <ellipse
+     cx="416"
+     cy="61"
+     rx="7"
+     ry="7"
+     id="ellipse4309"
+     sodipodi:cx="416"
+     sodipodi:cy="61"
+     sodipodi:rx="7"
+     sodipodi:ry="7"
+     style="fill:#000000"
+     transform="translate(-377.72477,-48.211009)" />
+  <line
+     x1="38.27523"
+     y1="20.78899"
+     x2="38.27523"
+     y2="25.78899"
+     id="line4311"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="38.27523"
+     y1="69.788994"
+     x2="38.27523"
+     y2="64.788994"
+     id="line4313"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="38.27523"
+     y1="89.788994"
+     x2="38.27523"
+     y2="94.788994"
+     id="line4315"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="5.2752295"
+     y1="70.788994"
+     x2="74.27523"
+     y2="70.788994"
+     id="line4317"
+     style="fill:none;stroke:#68e5ff;stroke-width:1" />
+  <line
+     x1="74.27523"
+     y1="70.788994"
+     x2="74.27523"
+     y2="90.788994"
+     id="line4319"
+     style="fill:none;stroke:#68e5ff;stroke-width:1" />
+  <line
+     x1="5.2752295"
+     y1="90.788994"
+     x2="74.27523"
+     y2="90.788994"
+     id="line4321"
+     style="fill:none;stroke:#68e5ff;stroke-width:1" />
+  <line
+     x1="5.2752295"
+     y1="70.788994"
+     x2="15.275229"
+     y2="80.788994"
+     id="line4323"
+     style="fill:none;stroke:#68e5ff;stroke-width:1" />
+  <line
+     x1="5.2752295"
+     y1="90.788994"
+     x2="15.275229"
+     y2="80.788994"
+     id="line4325"
+     style="fill:none;stroke:#68e5ff;stroke-width:1" />
+  <line
+     x1="4.2752295"
+     y1="69.788994"
+     x2="73.27523"
+     y2="69.788994"
+     id="line4327"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="73.27523"
+     y1="69.788994"
+     x2="73.27523"
+     y2="89.788994"
+     id="line4329"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="4.2752295"
+     y1="89.788994"
+     x2="73.27523"
+     y2="89.788994"
+     id="line4331"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="4.2752295"
+     y1="69.788994"
+     x2="14.275229"
+     y2="79.788994"
+     id="line4333"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="4.2752295"
+     y1="89.788994"
+     x2="14.275229"
+     y2="79.788994"
+     id="line4335"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <text
+     x="9.2752295"
+     y="69.788994"
+     style="font-size:12px;font-family:SansSerif"
+     id="text4337">chl</text>
+  <text
+     x="16.275229"
+     y="84.788994"
+     style="font-size:12px;font-family:SansSerif"
+     id="text4339">comm(1)</text>
+  <ellipse
+     cx="416"
+     cy="204"
+     rx="8"
+     ry="8"
+     id="ellipse4341"
+     sodipodi:cx="416"
+     sodipodi:cy="204"
+     sodipodi:rx="8"
+     sodipodi:ry="8"
+     style="fill:#000000"
+     transform="translate(-377.72477,-48.211009)" />
+  <ellipse
+     cx="416"
+     cy="204"
+     rx="10"
+     ry="10"
+     id="ellipse4343"
+     sodipodi:cx="416"
+     sodipodi:cy="204"
+     sodipodi:rx="10"
+     sodipodi:ry="10"
+     style="fill:none;stroke:#000000;stroke-width:1"
+     transform="translate(-377.72477,-48.211009)" />
+  <line
+     x1="38.27523"
+     y1="145.78899"
+     x2="38.27523"
+     y2="140.78899"
+     id="line4345"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+</svg>
diff --git a/doc/SysMLSec/fig/fv1_t2_results.svg b/doc/SysMLSec/fig/fv1_t2_results.svg
new file mode 100644
index 0000000000000000000000000000000000000000..63a9b9ec4ad1412095e99669c13bc26949e3945e
--- /dev/null
+++ b/doc/SysMLSec/fig/fv1_t2_results.svg
@@ -0,0 +1,276 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   version="1.1"
+   width="105"
+   height="170"
+   viewbox="377 49 79 170"
+   id="svg5715"
+   inkscape:version="0.48.5 r10040"
+   sodipodi:docname="fv1_t2_results.svg">
+  <metadata
+     id="metadata5785">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <defs
+     id="defs5783" />
+  <sodipodi:namedview
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1"
+     objecttolerance="10"
+     gridtolerance="10"
+     guidetolerance="10"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:window-width="640"
+     inkscape:window-height="480"
+     id="namedview5781"
+     showgrid="false"
+     inkscape:zoom="0.71710526"
+     inkscape:cx="228"
+     inkscape:cy="16.566315"
+     inkscape:window-x="1402"
+     inkscape:window-y="725"
+     inkscape:window-maximized="0"
+     inkscape:current-layer="svg5715" />
+  <line
+     x1="67.192657"
+     y1="96.788986"
+     x2="67.192657"
+     y2="142.78899"
+     id="line5717"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <polygon
+     points="416,189 411,180 420,180 "
+     id="polygon5719"
+     transform="translate(-348.80734,-46.211009)"
+     style="fill:#000000" />
+  <polygon
+     points="416,189 411,180 420,180 "
+     id="polygon5721"
+     transform="translate(-348.80734,-46.211009)"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="67.192657"
+     y1="27.788994"
+     x2="67.192657"
+     y2="66.788986"
+     id="line5723"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <polygon
+     points="416,113 411,104 420,104 "
+     id="polygon5725"
+     transform="translate(-348.80734,-46.211009)"
+     style="fill:#000000" />
+  <polygon
+     points="416,113 411,104 420,104 "
+     id="polygon5727"
+     transform="translate(-348.80734,-46.211009)"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <ellipse
+     cx="416"
+     cy="61"
+     rx="7"
+     ry="7"
+     id="ellipse5729"
+     sodipodi:cx="416"
+     sodipodi:cy="61"
+     sodipodi:rx="7"
+     sodipodi:ry="7"
+     transform="translate(-348.80734,-46.211009)"
+     style="fill:#000000" />
+  <line
+     x1="67.192657"
+     y1="22.788994"
+     x2="67.192657"
+     y2="27.788994"
+     id="line5731"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <polygon
+     points="382,138 392,128 382,118 451,118 451,138 "
+     id="polygon5733"
+     transform="translate(-348.80734,-46.211009)"
+     style="fill:#68e5ff" />
+  <line
+     x1="67.192657"
+     y1="71.788986"
+     x2="67.192657"
+     y2="66.788986"
+     id="line5735"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="67.192657"
+     y1="91.788986"
+     x2="67.192657"
+     y2="96.788986"
+     id="line5737"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="34.192661"
+     y1="72.788986"
+     x2="103.19266"
+     y2="72.788986"
+     id="line5739"
+     style="fill:none;stroke:#68e5ff;stroke-width:1" />
+  <line
+     x1="103.19266"
+     y1="72.788986"
+     x2="103.19266"
+     y2="92.788986"
+     id="line5741"
+     style="fill:none;stroke:#68e5ff;stroke-width:1" />
+  <line
+     x1="34.192661"
+     y1="92.788986"
+     x2="103.19266"
+     y2="92.788986"
+     id="line5743"
+     style="fill:none;stroke:#68e5ff;stroke-width:1" />
+  <line
+     x1="34.192661"
+     y1="72.788986"
+     x2="44.192661"
+     y2="82.788986"
+     id="line5745"
+     style="fill:none;stroke:#68e5ff;stroke-width:1" />
+  <line
+     x1="34.192661"
+     y1="92.788986"
+     x2="44.192661"
+     y2="82.788986"
+     id="line5747"
+     style="fill:none;stroke:#68e5ff;stroke-width:1" />
+  <line
+     x1="33.192661"
+     y1="71.788986"
+     x2="102.19266"
+     y2="71.788986"
+     id="line5749"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="102.19266"
+     y1="71.788986"
+     x2="102.19266"
+     y2="91.788986"
+     id="line5751"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="33.192661"
+     y1="91.788986"
+     x2="102.19266"
+     y2="91.788986"
+     id="line5753"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="33.192661"
+     y1="71.788986"
+     x2="43.192661"
+     y2="81.788986"
+     id="line5755"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="33.192661"
+     y1="91.788986"
+     x2="43.192661"
+     y2="81.788986"
+     id="line5757"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <text
+     x="38.192661"
+     y="71.788986"
+     style="font-size:12px;font-family:SansSerif"
+     id="text5759">chl</text>
+  <text
+     x="45.192661"
+     y="86.788986"
+     style="font-size:12px;font-family:SansSerif"
+     id="text5761">comm(1)</text>
+  <line
+     x1="3.1926606"
+     y1="68.788986"
+     x2="18.192661"
+     y2="68.788986"
+     id="line5763"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <polygon
+     points="367,115 358,119 358,110 "
+     id="polygon5765"
+     transform="translate(-348.80734,-46.211009)"
+     style="fill:#000000" />
+  <polygon
+     points="367,115 358,119 358,110 "
+     id="polygon5767"
+     transform="translate(-348.80734,-46.211009)"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <ellipse
+     cx="374"
+     cy="112"
+     rx="3"
+     ry="4"
+     id="ellipse5769"
+     sodipodi:cx="374"
+     sodipodi:cy="112"
+     sodipodi:rx="3"
+     sodipodi:ry="4"
+     transform="translate(-348.80734,-46.211009)"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <rect
+     x="21.192661"
+     y="64.788986"
+     width="8"
+     height="6"
+     id="rect5771"
+     style="fill:#00ff00" />
+  <rect
+     x="21.192661"
+     y="64.788986"
+     width="9"
+     height="7"
+     id="rect5773"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <ellipse
+     cx="416"
+     cy="204"
+     rx="8"
+     ry="8"
+     id="ellipse5775"
+     sodipodi:cx="416"
+     sodipodi:cy="204"
+     sodipodi:rx="8"
+     sodipodi:ry="8"
+     transform="translate(-348.80734,-46.211009)"
+     style="fill:#000000" />
+  <ellipse
+     cx="416"
+     cy="204"
+     rx="10"
+     ry="10"
+     id="ellipse5777"
+     sodipodi:cx="416"
+     sodipodi:cy="204"
+     sodipodi:rx="10"
+     sodipodi:ry="10"
+     transform="translate(-348.80734,-46.211009)"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="67.192657"
+     y1="147.78899"
+     x2="67.192657"
+     y2="142.78899"
+     id="line5779"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+</svg>
diff --git a/doc/SysMLSec/fig/fv3.svg b/doc/SysMLSec/fig/fv3.svg
new file mode 100644
index 0000000000000000000000000000000000000000..71891b270ef30e427f4e2bcb90eb100d6c1ff123
--- /dev/null
+++ b/doc/SysMLSec/fig/fv3.svg
@@ -0,0 +1,203 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   version="1.1"
+   width="630"
+   height="160"
+   viewbox="201 125 621 163"
+   id="svg7182"
+   inkscape:version="0.48.5 r10040"
+   sodipodi:docname="fv3.svg">
+  <metadata
+     id="metadata7236">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <defs
+     id="defs7234" />
+  <sodipodi:namedview
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1"
+     objecttolerance="10"
+     gridtolerance="10"
+     guidetolerance="10"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:window-width="640"
+     inkscape:window-height="480"
+     id="namedview7232"
+     showgrid="false"
+     inkscape:zoom="0.39781022"
+     inkscape:cx="411"
+     inkscape:cy="144"
+     inkscape:window-x="540"
+     inkscape:window-y="800"
+     inkscape:window-maximized="0"
+     inkscape:current-layer="svg7182" />
+  <rect
+     x="7.4128442"
+     y="4.5137634"
+     width="200"
+     height="150"
+     id="rect7184"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <rect
+     x="8.4128437"
+     y="5.5137634"
+     width="198"
+     height="148"
+     id="rect7186"
+     style="fill:#c9f3bc" />
+  <text
+     x="98.412842"
+     y="33.513763"
+     style="font-size:14px;font-family:SansSerif"
+     id="text7188">T1</text>
+  <rect
+     x="194.41284"
+     y="59.513763"
+     width="25"
+     height="25"
+     id="rect7190"
+     style="fill:#68e5ff" />
+  <rect
+     x="194.41284"
+     y="59.513763"
+     width="26"
+     height="26"
+     id="rect7192"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <polygon
+     points="396,208 416,198 396,188 "
+     id="polygon7194"
+     transform="translate(-198.58716,-125.48624)"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <polygon
+     points="396,208 416,198 396,188 "
+     id="polygon7196"
+     transform="translate(-198.58716,-125.48624)"
+     style="fill:#000000" />
+  <line
+     x1="217.41284"
+     y1="82.513763"
+     x2="217.41284"
+     y2="62.513763"
+     id="line7198"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <text
+     x="194.41284"
+     y="58.513763"
+     style="font-size:8px;font-family:SansSerif"
+     id="text7200">comm</text>
+  <text
+     x="176.41284"
+     y="52.513763"
+     style="font-size:8px;font-family:SansSerif"
+     id="text7202">???</text>
+  <ellipse
+     cx="384"
+     cy="189"
+     rx="3"
+     ry="4"
+     id="ellipse7204"
+     sodipodi:cx="384"
+     sodipodi:cy="189"
+     sodipodi:rx="3"
+     sodipodi:ry="4"
+     transform="translate(-198.58716,-125.48624)"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <rect
+     x="181.41284"
+     y="62.513763"
+     width="8"
+     height="6"
+     id="rect7206"
+     style="fill:#808080" />
+  <rect
+     x="181.41284"
+     y="62.513763"
+     width="9"
+     height="7"
+     id="rect7208"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <rect
+     x="418.41284"
+     y="7.5137634"
+     width="200"
+     height="150"
+     id="rect7210"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <rect
+     x="419.41284"
+     y="8.5137634"
+     width="198"
+     height="148"
+     id="rect7212"
+     style="fill:#c9f3bc" />
+  <text
+     x="509.41284"
+     y="36.513763"
+     style="font-size:14px;font-family:SansSerif"
+     id="text7214">T2</text>
+  <rect
+     x="405.41284"
+     y="60.513763"
+     width="25"
+     height="25"
+     id="rect7216"
+     style="fill:#68e5ff" />
+  <rect
+     x="405.41284"
+     y="60.513763"
+     width="26"
+     height="26"
+     id="rect7218"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <polygon
+     points="607,209 627,199 607,189 "
+     id="polygon7220"
+     transform="translate(-198.58716,-125.48624)"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <polygon
+     points="607,209 627,199 607,189 "
+     id="polygon7222"
+     transform="translate(-198.58716,-125.48624)"
+     style="fill:#000000" />
+  <line
+     x1="428.41284"
+     y1="83.513763"
+     x2="428.41284"
+     y2="63.513763"
+     id="line7224"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <text
+     x="405.41284"
+     y="59.513763"
+     style="font-size:8px;font-family:SansSerif"
+     id="text7226">comm</text>
+  <text
+     x="294.41284"
+     y="72.513763"
+     style="font-size:12px;font-family:SansSerif"
+     id="text7228">comm</text>
+  <line
+     x1="220.41284"
+     y1="72.513763"
+     x2="405.41284"
+     y2="73.513763"
+     id="line7230"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+</svg>
diff --git a/doc/SysMLSec/fig/fv3_result.svg b/doc/SysMLSec/fig/fv3_result.svg
new file mode 100644
index 0000000000000000000000000000000000000000..2e9b9f5190d13e29ce6e6c5cb5e2bad9998b2417
--- /dev/null
+++ b/doc/SysMLSec/fig/fv3_result.svg
@@ -0,0 +1,203 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   version="1.1"
+   width="585"
+   height="165"
+   viewbox="201 125 587 162"
+   id="svg6942"
+   inkscape:version="0.48.5 r10040"
+   sodipodi:docname="fv3_result.svg">
+  <metadata
+     id="metadata6996">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <defs
+     id="defs6994" />
+  <sodipodi:namedview
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1"
+     objecttolerance="10"
+     gridtolerance="10"
+     guidetolerance="10"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:window-width="640"
+     inkscape:window-height="480"
+     id="namedview6992"
+     showgrid="false"
+     inkscape:zoom="0.41497462"
+     inkscape:cx="394"
+     inkscape:cy="143.5"
+     inkscape:window-x="728"
+     inkscape:window-y="491"
+     inkscape:window-maximized="0"
+     inkscape:current-layer="svg6942" />
+  <rect
+     x="4"
+     y="8"
+     width="200"
+     height="150"
+     id="rect6944"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <rect
+     x="5"
+     y="9"
+     width="198"
+     height="148"
+     id="rect6946"
+     style="fill:#c9f3bc" />
+  <text
+     x="95"
+     y="37"
+     style="font-size:14px;font-family:SansSerif"
+     id="text6948">T1</text>
+  <rect
+     x="191"
+     y="63"
+     width="25"
+     height="25"
+     id="rect6950"
+     style="fill:#68e5ff" />
+  <rect
+     x="191"
+     y="63"
+     width="26"
+     height="26"
+     id="rect6952"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <polygon
+     points="416,198 396,188 396,208 "
+     id="polygon6954"
+     transform="translate(-202,-122)"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <polygon
+     points="416,198 396,188 396,208 "
+     id="polygon6956"
+     transform="translate(-202,-122)"
+     style="fill:#000000" />
+  <line
+     x1="214"
+     y1="86"
+     x2="214"
+     y2="66"
+     id="line6958"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <text
+     x="191"
+     y="62"
+     style="font-size:8px;font-family:SansSerif"
+     id="text6960">comm</text>
+  <text
+     x="173"
+     y="56"
+     style="font-size:8px;font-family:SansSerif"
+     id="text6962">NonSecureArchitectureWithSecureFV</text>
+  <ellipse
+     cx="384"
+     cy="189"
+     rx="3"
+     ry="4"
+     id="ellipse6964"
+     sodipodi:cx="384"
+     sodipodi:cy="189"
+     sodipodi:rx="3"
+     sodipodi:ry="4"
+     transform="translate(-202,-122)"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <rect
+     x="178"
+     y="66"
+     width="8"
+     height="6"
+     id="rect6966"
+     style="fill:#00ff00" />
+  <rect
+     x="178"
+     y="66"
+     width="9"
+     height="7"
+     id="rect6968"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <rect
+     x="381"
+     y="10"
+     width="200"
+     height="150"
+     id="rect6970"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <rect
+     x="382"
+     y="11"
+     width="198"
+     height="148"
+     id="rect6972"
+     style="fill:#c9f3bc" />
+  <text
+     x="472"
+     y="39"
+     style="font-size:14px;font-family:SansSerif"
+     id="text6974">T2</text>
+  <rect
+     x="368"
+     y="63"
+     width="25"
+     height="25"
+     id="rect6976"
+     style="fill:#68e5ff" />
+  <rect
+     x="368"
+     y="63"
+     width="26"
+     height="26"
+     id="rect6978"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <polygon
+     points="593,198 573,188 573,208 "
+     id="polygon6980"
+     transform="translate(-202,-122)"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <polygon
+     points="593,198 573,188 573,208 "
+     id="polygon6982"
+     transform="translate(-202,-122)"
+     style="fill:#000000" />
+  <line
+     x1="391"
+     y1="86"
+     x2="391"
+     y2="66"
+     id="line6984"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <text
+     x="368"
+     y="62"
+     style="font-size:8px;font-family:SansSerif"
+     id="text6986">comm</text>
+  <text
+     x="274"
+     y="76"
+     style="font-size:12px;font-family:SansSerif"
+     id="text6988">comm</text>
+  <line
+     x1="217"
+     y1="76"
+     x2="368"
+     y2="76"
+     id="line6990"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+</svg>
diff --git a/doc/SysMLSec/fig/fv3_t1.svg b/doc/SysMLSec/fig/fv3_t1.svg
new file mode 100644
index 0000000000000000000000000000000000000000..1e84c8957fa2167d28f4385bc5bf5451b716edbe
--- /dev/null
+++ b/doc/SysMLSec/fig/fv3_t1.svg
@@ -0,0 +1,367 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   version="1.1"
+   width="150"
+   height="255"
+   viewbox="378 36 75 254"
+   id="svg7082"
+   inkscape:version="0.48.5 r10040"
+   sodipodi:docname="fv3_t1.svg">
+  <metadata
+     id="metadata7180">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <defs
+     id="defs7178" />
+  <sodipodi:namedview
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1"
+     objecttolerance="10"
+     gridtolerance="10"
+     guidetolerance="10"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:window-width="640"
+     inkscape:window-height="480"
+     id="namedview7176"
+     showgrid="false"
+     inkscape:zoom="0.7218543"
+     inkscape:cx="226.5"
+     inkscape:cy="145"
+     inkscape:window-x="721"
+     inkscape:window-y="712"
+     inkscape:window-maximized="0"
+     inkscape:current-layer="svg7082" />
+  <line
+     x1="36.807339"
+     y1="172.61469"
+     x2="36.807339"
+     y2="223.61469"
+     id="line7084"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <polygon
+     points="410,251 419,251 415,260 "
+     id="polygon7086"
+     transform="translate(-378.19266,-36.385321)"
+     style="fill:#000000" />
+  <polygon
+     points="410,251 419,251 415,260 "
+     id="polygon7088"
+     transform="translate(-378.19266,-36.385321)"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="36.807339"
+     y1="24.614677"
+     x2="36.807339"
+     y2="62.614677"
+     id="line7090"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <polygon
+     points="410,90 419,90 415,99 "
+     id="polygon7092"
+     transform="translate(-378.19266,-36.385321)"
+     style="fill:#000000" />
+  <polygon
+     points="410,90 419,90 415,99 "
+     id="polygon7094"
+     transform="translate(-378.19266,-36.385321)"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="36.807339"
+     y1="112.61469"
+     x2="36.807339"
+     y2="142.61469"
+     id="line7096"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <polygon
+     points="410,170 419,170 415,179 "
+     id="polygon7098"
+     transform="translate(-378.19266,-36.385321)"
+     style="fill:#000000" />
+  <polygon
+     points="410,170 419,170 415,179 "
+     id="polygon7100"
+     transform="translate(-378.19266,-36.385321)"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <ellipse
+     cx="415"
+     cy="48"
+     rx="7"
+     ry="7"
+     id="ellipse7102"
+     sodipodi:cx="415"
+     sodipodi:cy="48"
+     sodipodi:rx="7"
+     sodipodi:ry="7"
+     transform="translate(-378.19266,-36.385321)"
+     style="fill:#000000" />
+  <line
+     x1="36.807339"
+     y1="19.614677"
+     x2="36.807339"
+     y2="24.614677"
+     id="line7104"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="36.807339"
+     y1="147.61469"
+     x2="36.807339"
+     y2="142.61469"
+     id="line7106"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="36.807339"
+     y1="167.61469"
+     x2="36.807339"
+     y2="172.61469"
+     id="line7108"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="5.8073397"
+     y1="148.61469"
+     x2="60.807339"
+     y2="148.61469"
+     id="line7110"
+     style="fill:none;stroke:#68e5ff;stroke-width:1" />
+  <line
+     x1="5.8073397"
+     y1="168.61469"
+     x2="60.807339"
+     y2="168.61469"
+     id="line7112"
+     style="fill:none;stroke:#68e5ff;stroke-width:1" />
+  <line
+     x1="5.8073397"
+     y1="148.61469"
+     x2="5.8073397"
+     y2="168.61469"
+     id="line7114"
+     style="fill:none;stroke:#68e5ff;stroke-width:1" />
+  <line
+     x1="60.807339"
+     y1="148.61469"
+     x2="70.807343"
+     y2="158.61469"
+     id="line7116"
+     style="fill:none;stroke:#68e5ff;stroke-width:1" />
+  <line
+     x1="60.807339"
+     y1="168.61469"
+     x2="70.807343"
+     y2="158.61469"
+     id="line7118"
+     style="fill:none;stroke:#68e5ff;stroke-width:1" />
+  <line
+     x1="4.8073397"
+     y1="147.61469"
+     x2="59.807339"
+     y2="147.61469"
+     id="line7120"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="4.8073397"
+     y1="167.61469"
+     x2="59.807339"
+     y2="167.61469"
+     id="line7122"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="4.8073397"
+     y1="147.61469"
+     x2="4.8073397"
+     y2="167.61469"
+     id="line7124"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="59.807339"
+     y1="147.61469"
+     x2="69.807343"
+     y2="157.61469"
+     id="line7126"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="59.807339"
+     y1="167.61469"
+     x2="69.807343"
+     y2="157.61469"
+     id="line7128"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <text
+     x="9.8073397"
+     y="147.61469"
+     style="font-size:12px;font-family:SansSerif"
+     id="text7130">chl</text>
+  <text
+     x="9.8073397"
+     y="162.61469"
+     style="font-size:12px;font-family:SansSerif"
+     id="text7132">comm(1)</text>
+  <text
+     x="52.807339"
+     y="182.61469"
+     style="font-size:12px;font-family:SansSerif"
+     id="text7134">sec:Cipherdata</text>
+  <ellipse
+     cx="415"
+     cy="275"
+     rx="8"
+     ry="8"
+     id="ellipse7136"
+     sodipodi:cx="415"
+     sodipodi:cy="275"
+     sodipodi:rx="8"
+     sodipodi:ry="8"
+     transform="translate(-378.19266,-36.385321)"
+     style="fill:#000000" />
+  <ellipse
+     cx="415"
+     cy="275"
+     rx="10"
+     ry="10"
+     id="ellipse7138"
+     sodipodi:cx="415"
+     sodipodi:cy="275"
+     sodipodi:rx="10"
+     sodipodi:ry="10"
+     transform="translate(-378.19266,-36.385321)"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="36.807339"
+     y1="228.61469"
+     x2="36.807339"
+     y2="223.61469"
+     id="line7140"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="29.807339"
+     y1="67.614677"
+     x2="44.807339"
+     y2="67.614677"
+     id="line7142"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="29.807339"
+     y1="67.614677"
+     x2="29.807339"
+     y2="102.61469"
+     id="line7144"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="44.807339"
+     y1="67.614677"
+     x2="44.807339"
+     y2="102.61469"
+     id="line7146"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="29.807339"
+     y1="102.61469"
+     x2="36.807339"
+     y2="107.61469"
+     id="line7148"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="36.807339"
+     y1="107.61469"
+     x2="44.807339"
+     y2="102.61469"
+     id="line7150"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="36.807339"
+     y1="67.614677"
+     x2="36.807339"
+     y2="62.614677"
+     id="line7152"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="36.807339"
+     y1="107.61469"
+     x2="36.807339"
+     y2="112.61469"
+     id="line7154"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="34.807339"
+     y1="72.614677"
+     x2="39.807339"
+     y2="72.614677"
+     id="line7156"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="34.807339"
+     y1="84.614677"
+     x2="39.807339"
+     y2="84.614677"
+     id="line7158"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="34.807339"
+     y1="78.614677"
+     x2="39.807339"
+     y2="78.614677"
+     id="line7160"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="34.807339"
+     y1="72.614677"
+     x2="34.807339"
+     y2="78.614677"
+     id="line7162"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="39.807339"
+     y1="78.614677"
+     x2="39.807339"
+     y2="84.614677"
+     id="line7164"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="34.807339"
+     y1="87.614677"
+     x2="39.807339"
+     y2="87.614677"
+     id="line7166"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="34.807339"
+     y1="99.614693"
+     x2="39.807339"
+     y2="99.614693"
+     id="line7168"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="34.807339"
+     y1="93.614685"
+     x2="39.807339"
+     y2="93.614685"
+     id="line7170"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="34.807339"
+     y1="87.614677"
+     x2="34.807339"
+     y2="99.614693"
+     id="line7172"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <text
+     x="51.807339"
+     y="84.614677"
+     style="font-size:12px;font-family:SansSerif"
+     id="text7174">sec:Cipherdata</text>
+</svg>
diff --git a/doc/SysMLSec/fig/fv3_t2.svg b/doc/SysMLSec/fig/fv3_t2.svg
new file mode 100644
index 0000000000000000000000000000000000000000..e8c5d55ac92950aff563aa339de12943928afd0b
--- /dev/null
+++ b/doc/SysMLSec/fig/fv3_t2.svg
@@ -0,0 +1,317 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   version="1.1"
+   width="145"
+   height="256"
+   viewbox="377 53 79 253"
+   id="svg6998"
+   inkscape:version="0.48.4 r9939"
+   sodipodi:docname="fv3_t2.svg">
+  <metadata
+     id="metadata7080">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <defs
+     id="defs7078" />
+  <sodipodi:namedview
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1"
+     objecttolerance="10"
+     gridtolerance="10"
+     guidetolerance="10"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:window-width="2048"
+     inkscape:window-height="1086"
+     id="namedview7076"
+     showgrid="false"
+     inkscape:zoom="2.868421"
+     inkscape:cx="-150.43595"
+     inkscape:cy="106.22785"
+     inkscape:window-x="0"
+     inkscape:window-y="27"
+     inkscape:window-maximized="1"
+     inkscape:current-layer="svg6998" />
+  <line
+     x1="36.091743"
+     y1="94.394501"
+     x2="36.091743"
+     y2="126.3945"
+     id="line7000"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <polygon
+     points="420,166 416,175 411,166 "
+     id="polygon7002"
+     transform="translate(-379.90826,-48.605505)"
+     style="fill:#000000" />
+  <polygon
+     points="420,166 416,175 411,166 "
+     id="polygon7004"
+     transform="translate(-379.90826,-48.605505)"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="36.091743"
+     y1="29.394493"
+     x2="36.091743"
+     y2="64.394493"
+     id="line7006"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <polygon
+     points="420,104 416,113 411,104 "
+     id="polygon7008"
+     transform="translate(-379.90826,-48.605505)"
+     style="fill:#000000" />
+  <polygon
+     points="420,104 416,113 411,104 "
+     id="polygon7010"
+     transform="translate(-379.90826,-48.605505)"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="36.091743"
+     y1="176.3945"
+     x2="36.091743"
+     y2="227.3945"
+     id="line7012"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <polygon
+     points="420,267 416,276 411,267 "
+     id="polygon7014"
+     transform="translate(-379.90826,-48.605505)"
+     style="fill:#000000" />
+  <polygon
+     points="420,267 416,276 411,267 "
+     id="polygon7016"
+     transform="translate(-379.90826,-48.605505)"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <ellipse
+     cx="416"
+     cy="65"
+     rx="7"
+     ry="7"
+     id="ellipse7018"
+     sodipodi:cx="416"
+     sodipodi:cy="65"
+     sodipodi:rx="7"
+     sodipodi:ry="7"
+     transform="translate(-379.90826,-48.605505)"
+     style="fill:#000000" />
+  <line
+     x1="36.091743"
+     y1="24.394493"
+     x2="36.091743"
+     y2="29.394493"
+     id="line7020"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="36.091743"
+     y1="69.394493"
+     x2="36.091743"
+     y2="64.394493"
+     id="line7022"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="36.091743"
+     y1="89.394501"
+     x2="36.091743"
+     y2="94.394501"
+     id="line7024"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="3.091743"
+     y1="70.394493"
+     x2="72.091743"
+     y2="70.394493"
+     id="line7026"
+     style="fill:none;stroke:#68e5ff;stroke-width:1" />
+  <line
+     x1="72.091743"
+     y1="70.394493"
+     x2="72.091743"
+     y2="90.394501"
+     id="line7028"
+     style="fill:none;stroke:#68e5ff;stroke-width:1" />
+  <line
+     x1="3.091743"
+     y1="90.394501"
+     x2="72.091743"
+     y2="90.394501"
+     id="line7030"
+     style="fill:none;stroke:#68e5ff;stroke-width:1" />
+  <line
+     x1="3.091743"
+     y1="70.394493"
+     x2="13.091743"
+     y2="80.394501"
+     id="line7032"
+     style="fill:none;stroke:#68e5ff;stroke-width:1" />
+  <line
+     x1="3.091743"
+     y1="90.394501"
+     x2="13.091743"
+     y2="80.394501"
+     id="line7034"
+     style="fill:none;stroke:#68e5ff;stroke-width:1" />
+  <line
+     x1="2.091743"
+     y1="69.394493"
+     x2="71.091743"
+     y2="69.394493"
+     id="line7036"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="71.091743"
+     y1="69.394493"
+     x2="71.091743"
+     y2="89.394501"
+     id="line7038"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="2.091743"
+     y1="89.394501"
+     x2="71.091743"
+     y2="89.394501"
+     id="line7040"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="2.091743"
+     y1="69.394493"
+     x2="12.091743"
+     y2="79.394501"
+     id="line7042"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="2.091743"
+     y1="89.394501"
+     x2="12.091743"
+     y2="79.394501"
+     id="line7044"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <text
+     x="7.0917435"
+     y="69.394493"
+     style="font-size:12px;font-family:SansSerif"
+     id="text7046">chl</text>
+  <text
+     x="14.091743"
+     y="84.394501"
+     style="font-size:12px;font-family:SansSerif"
+     id="text7048">comm(1)</text>
+  <text
+     x="53.091743"
+     y="104.3945"
+     style="font-size:12px;font-family:SansSerif"
+     id="text7050">sec:Cipherdata</text>
+  <ellipse
+     cx="416"
+     cy="291"
+     rx="8"
+     ry="8"
+     id="ellipse7052"
+     sodipodi:cx="416"
+     sodipodi:cy="291"
+     sodipodi:rx="8"
+     sodipodi:ry="8"
+     transform="translate(-379.90826,-48.605505)"
+     style="fill:#000000" />
+  <ellipse
+     cx="416"
+     cy="291"
+     rx="10"
+     ry="10"
+     id="ellipse7054"
+     sodipodi:cx="416"
+     sodipodi:cy="291"
+     sodipodi:rx="10"
+     sodipodi:ry="10"
+     transform="translate(-379.90826,-48.605505)"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="36.091743"
+     y1="232.3945"
+     x2="36.091743"
+     y2="227.3945"
+     id="line7056"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="29.091743"
+     y1="131.3945"
+     x2="44.091743"
+     y2="131.3945"
+     id="line7058"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="29.091743"
+     y1="131.3945"
+     x2="29.091743"
+     y2="166.3945"
+     id="line7060"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="44.091743"
+     y1="131.3945"
+     x2="44.091743"
+     y2="166.3945"
+     id="line7062"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="29.091743"
+     y1="166.3945"
+     x2="36.091743"
+     y2="171.3945"
+     id="line7064"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="36.091743"
+     y1="171.3945"
+     x2="44.091743"
+     y2="166.3945"
+     id="line7066"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="36.091743"
+     y1="131.3945"
+     x2="36.091743"
+     y2="126.3945"
+     id="line7068"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="36.091743"
+     y1="171.3945"
+     x2="36.091743"
+     y2="176.3945"
+     id="line7070"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="34.091743"
+     y1="138.3945"
+     x2="34.091743"
+     y2="158.3945"
+     id="line7072"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <text
+     x="51.091743"
+     y="148.3945"
+     style="font-size:12px;font-family:SansSerif"
+     id="text7074">sec:Cipherdata</text>
+  <path
+     style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+     d="m 32.802637,138.38934 c 9.46153,-1.13712 9.728644,19.92324 0.753685,19.73573"
+     id="path3019"
+     inkscape:connector-curvature="0"
+     sodipodi:nodetypes="cc" />
+</svg>
diff --git a/doc/SysMLSec/fig/logotpt.pdf b/doc/SysMLSec/fig/logotpt.pdf
new file mode 100644
index 0000000000000000000000000000000000000000..47bcada07880a6f6e21347293a9dd79197a0f34c
Binary files /dev/null and b/doc/SysMLSec/fig/logotpt.pdf differ
diff --git a/doc/SysMLSec/fig/mapping1.svg b/doc/SysMLSec/fig/mapping1.svg
new file mode 100644
index 0000000000000000000000000000000000000000..2ad5a4ed9d6493abe6488f15fe1888e813ff62e6
--- /dev/null
+++ b/doc/SysMLSec/fig/mapping1.svg
@@ -0,0 +1,576 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   version="1.1"
+   width="940"
+   height="500"
+   viewbox="231 132 915 505"
+   id="svg4889"
+   inkscape:version="0.48.5 r10040"
+   sodipodi:docname="mapping1.svg">
+  <metadata
+     id="metadata5053">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <defs
+     id="defs5051" />
+  <sodipodi:namedview
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1"
+     objecttolerance="10"
+     gridtolerance="10"
+     guidetolerance="10"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:window-width="640"
+     inkscape:window-height="480"
+     id="namedview5049"
+     showgrid="false"
+     inkscape:snap-smooth-nodes="true"
+     inkscape:zoom="0.28534031"
+     inkscape:cx="573"
+     inkscape:cy="318.5"
+     inkscape:window-x="1280"
+     inkscape:window-y="333"
+     inkscape:window-maximized="0"
+     inkscape:current-layer="svg4889" />
+  <line
+     x1="466"
+     y1="360"
+     x2="466"
+     y2="320"
+     id="line4891"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="195"
+     y1="211"
+     x2="341"
+     y2="248"
+     id="line4893"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="725"
+     y1="204"
+     x2="591"
+     y2="248"
+     id="line4895"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <rect
+     x="8"
+     y="11"
+     width="250"
+     height="200"
+     id="rect4897"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="8"
+     y1="11"
+     x2="10"
+     y2="8"
+     id="line4899"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="258"
+     y1="11"
+     x2="260"
+     y2="8"
+     id="line4901"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="10"
+     y1="8"
+     x2="260"
+     y2="8"
+     id="line4903"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="258"
+     y1="211"
+     x2="260"
+     y2="208"
+     id="line4905"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="260"
+     y1="8"
+     x2="260"
+     y2="208"
+     id="line4907"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <rect
+     x="9"
+     y="12"
+     width="248"
+     height="198"
+     id="rect4909"
+     style="fill:#c6ebf9" />
+  <text
+     x="92"
+     y="26"
+     style="font-size:12px;font-family:SansSerif"
+     id="text4911">&lt;&lt;CPURR&gt;&gt;</text>
+  <text
+     x="116"
+     y="41"
+     style="font-size:12px;font-family:SansSerif"
+     id="text4913">CPU1</text>
+  <rect
+     x="60"
+     y="80"
+     width="142"
+     height="40"
+     id="rect4915"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <rect
+     x="61"
+     y="81"
+     width="140"
+     height="38"
+     id="rect4917"
+     style="fill:#c6e3f9" />
+  <line
+     x1="177"
+     y1="85"
+     x2="177"
+     y2="110"
+     id="line4919"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="177"
+     y1="85"
+     x2="192"
+     y2="85"
+     id="line4921"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="192"
+     y1="85"
+     x2="197"
+     y2="90"
+     id="line4923"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="197"
+     y1="90"
+     x2="197"
+     y2="110"
+     id="line4925"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="197"
+     y1="110"
+     x2="177"
+     y2="110"
+     id="line4927"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="192"
+     y1="85"
+     x2="192"
+     y2="90"
+     id="line4929"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="192"
+     y1="90"
+     x2="197"
+     y2="90"
+     id="line4931"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <text
+     x="65"
+     y="95"
+     style="font-size:12px;font-family:SansSerif"
+     id="text4933">NonSecureFV::T1</text>
+  <rect
+     x="663"
+     y="4"
+     width="250"
+     height="200"
+     id="rect4935"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="663"
+     y1="4"
+     x2="665"
+     y2="1"
+     id="line4937"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="913"
+     y1="4"
+     x2="915"
+     y2="1"
+     id="line4939"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="665"
+     y1="1"
+     x2="915"
+     y2="1"
+     id="line4941"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="913"
+     y1="204"
+     x2="915"
+     y2="201"
+     id="line4943"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="915"
+     y1="1"
+     x2="915"
+     y2="201"
+     id="line4945"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <rect
+     x="664"
+     y="5"
+     width="248"
+     height="198"
+     id="rect4947"
+     style="fill:#c6ebf9" />
+  <text
+     x="747"
+     y="19"
+     style="font-size:12px;font-family:SansSerif"
+     id="text4949">&lt;&lt;CPURR&gt;&gt;</text>
+  <text
+     x="771"
+     y="34"
+     style="font-size:12px;font-family:SansSerif"
+     id="text4951">CPU2</text>
+  <rect
+     x="705"
+     y="86"
+     width="142"
+     height="40"
+     id="rect4953"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <rect
+     x="706"
+     y="87"
+     width="140"
+     height="38"
+     id="rect4955"
+     style="fill:#c6e3f9" />
+  <line
+     x1="822"
+     y1="91"
+     x2="822"
+     y2="116"
+     id="line4957"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="822"
+     y1="91"
+     x2="837"
+     y2="91"
+     id="line4959"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="837"
+     y1="91"
+     x2="842"
+     y2="96"
+     id="line4961"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="842"
+     y1="96"
+     x2="842"
+     y2="116"
+     id="line4963"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="842"
+     y1="116"
+     x2="822"
+     y2="116"
+     id="line4965"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="837"
+     y1="91"
+     x2="837"
+     y2="96"
+     id="line4967"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="837"
+     y1="96"
+     x2="842"
+     y2="96"
+     id="line4969"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <text
+     x="710"
+     y="101"
+     style="font-size:12px;font-family:SansSerif"
+     id="text4971">NonSecureFV::T2</text>
+  <rect
+     x="341"
+     y="224"
+     width="250"
+     height="96"
+     id="rect4973"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="341"
+     y1="224"
+     x2="343"
+     y2="221"
+     id="line4975"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="591"
+     y1="224"
+     x2="593"
+     y2="221"
+     id="line4977"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="343"
+     y1="221"
+     x2="593"
+     y2="221"
+     id="line4979"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="591"
+     y1="320"
+     x2="593"
+     y2="317"
+     id="line4981"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="593"
+     y1="221"
+     x2="593"
+     y2="317"
+     id="line4983"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <rect
+     x="342"
+     y="225"
+     width="248"
+     height="94"
+     id="rect4985"
+     style="fill:#d7bc80" />
+  <text
+     x="423"
+     y="239"
+     style="font-size:12px;font-family:SansSerif"
+     id="text4987">&lt;&lt;BUS-RR&gt;&gt;</text>
+  <text
+     x="440"
+     y="254"
+     style="font-size:12px;font-family:SansSerif"
+     id="text4989">MainBus</text>
+  <rect
+     x="381"
+     y="265"
+     width="164"
+     height="40"
+     id="rect4991"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="520"
+     y1="270"
+     x2="520"
+     y2="295"
+     id="line4993"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="520"
+     y1="270"
+     x2="535"
+     y2="270"
+     id="line4995"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="535"
+     y1="270"
+     x2="540"
+     y2="275"
+     id="line4997"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="540"
+     y1="275"
+     x2="540"
+     y2="295"
+     id="line4999"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="540"
+     y1="295"
+     x2="520"
+     y2="295"
+     id="line5001"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="535"
+     y1="270"
+     x2="535"
+     y2="275"
+     id="line5003"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="535"
+     y1="275"
+     x2="540"
+     y2="275"
+     id="line5005"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <text
+     x="386"
+     y="280"
+     style="font-size:12px;font-family:SansSerif"
+     id="text5007">NonSecureFV::comm</text>
+  <text
+     x="386"
+     y="300"
+     style="font-size:12px;font-family:SansSerif"
+     id="text5009">channel</text>
+  <rect
+     x="364"
+     y="360"
+     width="205"
+     height="139"
+     id="rect5011"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="364"
+     y1="360"
+     x2="366"
+     y2="357"
+     id="line5013"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="569"
+     y1="360"
+     x2="571"
+     y2="357"
+     id="line5015"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="366"
+     y1="357"
+     x2="571"
+     y2="357"
+     id="line5017"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="569"
+     y1="499"
+     x2="571"
+     y2="496"
+     id="line5019"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="571"
+     y1="357"
+     x2="571"
+     y2="496"
+     id="line5021"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <rect
+     x="365"
+     y="361"
+     width="203"
+     height="137"
+     id="rect5023"
+     style="fill:#acead3" />
+  <text
+     x="420"
+     y="375"
+     style="font-size:12px;font-family:SansSerif"
+     id="text5025">&lt;&lt;MEMORY&gt;&gt;</text>
+  <text
+     x="421"
+     y="390"
+     style="font-size:12px;font-family:SansSerif"
+     id="text5027">MainMemory</text>
+  <rect
+     x="386"
+     y="412"
+     width="164"
+     height="40"
+     id="rect5029"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="525"
+     y1="417"
+     x2="525"
+     y2="442"
+     id="line5031"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="525"
+     y1="417"
+     x2="540"
+     y2="417"
+     id="line5033"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="540"
+     y1="417"
+     x2="545"
+     y2="422"
+     id="line5035"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="545"
+     y1="422"
+     x2="545"
+     y2="442"
+     id="line5037"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="545"
+     y1="442"
+     x2="525"
+     y2="442"
+     id="line5039"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="540"
+     y1="417"
+     x2="540"
+     y2="422"
+     id="line5041"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="540"
+     y1="422"
+     x2="545"
+     y2="422"
+     id="line5043"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <text
+     x="391"
+     y="427"
+     style="font-size:12px;font-family:SansSerif"
+     id="text5045">NonSecureFV::comm</text>
+  <text
+     x="391"
+     y="447"
+     style="font-size:12px;font-family:SansSerif"
+     id="text5047">channel</text>
+</svg>
diff --git a/doc/SysMLSec/fig/mapping2.svg b/doc/SysMLSec/fig/mapping2.svg
new file mode 100644
index 0000000000000000000000000000000000000000..01ecad66821e7a329bb941aa0d880b006ac9134d
--- /dev/null
+++ b/doc/SysMLSec/fig/mapping2.svg
@@ -0,0 +1,585 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   version="1.1"
+   width="925"
+   height="530"
+   viewbox="231 132 915 523"
+   id="svg5992"
+   inkscape:version="0.48.5 r10040"
+   sodipodi:docname="mapping2.svg">
+  <metadata
+     id="metadata6160">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <defs
+     id="defs6158" />
+  <sodipodi:namedview
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1"
+     objecttolerance="10"
+     gridtolerance="10"
+     guidetolerance="10"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:window-width="640"
+     inkscape:window-height="480"
+     id="namedview6156"
+     showgrid="false"
+     inkscape:zoom="0.28534031"
+     inkscape:cx="573"
+     inkscape:cy="327.5"
+     inkscape:window-x="631"
+     inkscape:window-y="321"
+     inkscape:window-maximized="0"
+     inkscape:current-layer="svg5992" />
+  <line
+     x1="470"
+     y1="386"
+     x2="468"
+     y2="328"
+     id="line5994"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="197"
+     y1="219"
+     x2="343"
+     y2="256"
+     id="line5996"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="727"
+     y1="212"
+     x2="593"
+     y2="256"
+     id="line5998"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <rect
+     x="10"
+     y="19"
+     width="250"
+     height="200"
+     id="rect6000"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="10"
+     y1="19"
+     x2="12"
+     y2="16"
+     id="line6002"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="260"
+     y1="19"
+     x2="262"
+     y2="16"
+     id="line6004"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="12"
+     y1="16"
+     x2="262"
+     y2="16"
+     id="line6006"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="260"
+     y1="219"
+     x2="262"
+     y2="216"
+     id="line6008"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="262"
+     y1="16"
+     x2="262"
+     y2="216"
+     id="line6010"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <rect
+     x="11"
+     y="20"
+     width="248"
+     height="198"
+     id="rect6012"
+     style="fill:#c6ebf9" />
+  <text
+     x="94"
+     y="34"
+     style="font-size:12px;font-family:SansSerif"
+     id="text6014">&lt;&lt;CPURR&gt;&gt;</text>
+  <text
+     x="118"
+     y="49"
+     style="font-size:12px;font-family:SansSerif"
+     id="text6016">CPU1</text>
+  <rect
+     x="62"
+     y="88"
+     width="142"
+     height="40"
+     id="rect6018"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <rect
+     x="63"
+     y="89"
+     width="140"
+     height="38"
+     id="rect6020"
+     style="fill:#c6e3f9" />
+  <line
+     x1="179"
+     y1="93"
+     x2="179"
+     y2="118"
+     id="line6022"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="179"
+     y1="93"
+     x2="194"
+     y2="93"
+     id="line6024"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="194"
+     y1="93"
+     x2="199"
+     y2="98"
+     id="line6026"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="199"
+     y1="98"
+     x2="199"
+     y2="118"
+     id="line6028"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="199"
+     y1="118"
+     x2="179"
+     y2="118"
+     id="line6030"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="194"
+     y1="93"
+     x2="194"
+     y2="98"
+     id="line6032"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="194"
+     y1="98"
+     x2="199"
+     y2="98"
+     id="line6034"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <text
+     x="67"
+     y="103"
+     style="font-size:12px;font-family:SansSerif"
+     id="text6036">NonSecureFV::T1</text>
+  <rect
+     x="665"
+     y="12"
+     width="250"
+     height="200"
+     id="rect6038"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="665"
+     y1="12"
+     x2="667"
+     y2="9"
+     id="line6040"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="915"
+     y1="12"
+     x2="917"
+     y2="9"
+     id="line6042"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="667"
+     y1="9"
+     x2="917"
+     y2="9"
+     id="line6044"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="915"
+     y1="212"
+     x2="917"
+     y2="209"
+     id="line6046"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="917"
+     y1="9"
+     x2="917"
+     y2="209"
+     id="line6048"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <rect
+     x="666"
+     y="13"
+     width="248"
+     height="198"
+     id="rect6050"
+     style="fill:#c6ebf9" />
+  <text
+     x="749"
+     y="27"
+     style="font-size:12px;font-family:SansSerif"
+     id="text6052">&lt;&lt;CPURR&gt;&gt;</text>
+  <text
+     x="773"
+     y="42"
+     style="font-size:12px;font-family:SansSerif"
+     id="text6054">CPU2</text>
+  <rect
+     x="707"
+     y="94"
+     width="142"
+     height="40"
+     id="rect6056"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <rect
+     x="708"
+     y="95"
+     width="140"
+     height="38"
+     id="rect6058"
+     style="fill:#c6e3f9" />
+  <line
+     x1="824"
+     y1="99"
+     x2="824"
+     y2="124"
+     id="line6060"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="824"
+     y1="99"
+     x2="839"
+     y2="99"
+     id="line6062"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="839"
+     y1="99"
+     x2="844"
+     y2="104"
+     id="line6064"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="844"
+     y1="104"
+     x2="844"
+     y2="124"
+     id="line6066"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="844"
+     y1="124"
+     x2="824"
+     y2="124"
+     id="line6068"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="839"
+     y1="99"
+     x2="839"
+     y2="104"
+     id="line6070"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="839"
+     y1="104"
+     x2="844"
+     y2="104"
+     id="line6072"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <text
+     x="712"
+     y="109"
+     style="font-size:12px;font-family:SansSerif"
+     id="text6074">NonSecureFV::T2</text>
+  <rect
+     x="343"
+     y="232"
+     width="250"
+     height="96"
+     id="rect6076"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="343"
+     y1="232"
+     x2="345"
+     y2="229"
+     id="line6078"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="593"
+     y1="232"
+     x2="595"
+     y2="229"
+     id="line6080"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="345"
+     y1="229"
+     x2="595"
+     y2="229"
+     id="line6082"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="593"
+     y1="328"
+     x2="595"
+     y2="325"
+     id="line6084"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="595"
+     y1="229"
+     x2="595"
+     y2="325"
+     id="line6086"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <rect
+     x="344"
+     y="233"
+     width="248"
+     height="94"
+     id="rect6088"
+     style="fill:#d7bc80" />
+  <text
+     x="425"
+     y="247"
+     style="font-size:12px;font-family:SansSerif"
+     id="text6090">&lt;&lt;BUS-RR&gt;&gt;</text>
+  <text
+     x="442"
+     y="262"
+     style="font-size:12px;font-family:SansSerif"
+     id="text6092">MainBus</text>
+  <polygon
+     points="573,375 576,379 579,379 582,375 585,379 588,379 591,375 591,392 582,400 573,392 "
+     id="polygon6094"
+     transform="translate(-226,-125)"
+     style="fill:#00ff00" />
+  <polygon
+     points="573,375 576,379 579,379 582,375 585,379 588,379 591,375 591,392 582,400 573,392 "
+     id="polygon6096"
+     transform="translate(-226,-125)"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <rect
+     x="383"
+     y="273"
+     width="164"
+     height="40"
+     id="rect6098"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="522"
+     y1="278"
+     x2="522"
+     y2="303"
+     id="line6100"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="522"
+     y1="278"
+     x2="537"
+     y2="278"
+     id="line6102"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="537"
+     y1="278"
+     x2="542"
+     y2="283"
+     id="line6104"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="542"
+     y1="283"
+     x2="542"
+     y2="303"
+     id="line6106"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="542"
+     y1="303"
+     x2="522"
+     y2="303"
+     id="line6108"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="537"
+     y1="278"
+     x2="537"
+     y2="283"
+     id="line6110"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="537"
+     y1="283"
+     x2="542"
+     y2="283"
+     id="line6112"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <text
+     x="388"
+     y="288"
+     style="font-size:12px;font-family:SansSerif"
+     id="text6114">NonSecureFV::comm</text>
+  <text
+     x="388"
+     y="308"
+     style="font-size:12px;font-family:SansSerif"
+     id="text6116">channel</text>
+  <rect
+     x="368"
+     y="386"
+     width="205"
+     height="139"
+     id="rect6118"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="368"
+     y1="386"
+     x2="370"
+     y2="383"
+     id="line6120"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="573"
+     y1="386"
+     x2="575"
+     y2="383"
+     id="line6122"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="370"
+     y1="383"
+     x2="575"
+     y2="383"
+     id="line6124"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="573"
+     y1="525"
+     x2="575"
+     y2="522"
+     id="line6126"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="575"
+     y1="383"
+     x2="575"
+     y2="522"
+     id="line6128"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <rect
+     x="369"
+     y="387"
+     width="203"
+     height="137"
+     id="rect6130"
+     style="fill:#acead3" />
+  <text
+     x="424"
+     y="401"
+     style="font-size:12px;font-family:SansSerif"
+     id="text6132">&lt;&lt;MEMORY&gt;&gt;</text>
+  <text
+     x="425"
+     y="416"
+     style="font-size:12px;font-family:SansSerif"
+     id="text6134">MainMemory</text>
+  <rect
+     x="390"
+     y="438"
+     width="164"
+     height="40"
+     id="rect6136"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="529"
+     y1="443"
+     x2="529"
+     y2="468"
+     id="line6138"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="529"
+     y1="443"
+     x2="544"
+     y2="443"
+     id="line6140"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="544"
+     y1="443"
+     x2="549"
+     y2="448"
+     id="line6142"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="549"
+     y1="448"
+     x2="549"
+     y2="468"
+     id="line6144"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="549"
+     y1="468"
+     x2="529"
+     y2="468"
+     id="line6146"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="544"
+     y1="443"
+     x2="544"
+     y2="448"
+     id="line6148"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="544"
+     y1="448"
+     x2="549"
+     y2="448"
+     id="line6150"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <text
+     x="395"
+     y="453"
+     style="font-size:12px;font-family:SansSerif"
+     id="text6152">NonSecureFV::comm</text>
+  <text
+     x="395"
+     y="473"
+     style="font-size:12px;font-family:SansSerif"
+     id="text6154">channel</text>
+</svg>
diff --git a/doc/SysMLSec/fig/method.svg b/doc/SysMLSec/fig/method.svg
new file mode 100644
index 0000000000000000000000000000000000000000..2e76adfcbaa4a463b09cc6cfe89b61703636577b
--- /dev/null
+++ b/doc/SysMLSec/fig/method.svg
@@ -0,0 +1,657 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   version="1.1"
+   width="1450"
+   height="660"
+   viewbox="45 58 1426 647"
+   id="svg3506"
+   inkscape:version="0.48.5 r10040"
+   sodipodi:docname="method.svg">
+  <metadata
+     id="metadata3710">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <defs
+     id="defs3708" />
+  <sodipodi:namedview
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1"
+     objecttolerance="10"
+     gridtolerance="10"
+     guidetolerance="10"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:window-width="888"
+     inkscape:window-height="659"
+     id="namedview3706"
+     showgrid="false"
+     inkscape:zoom="0.22229776"
+     inkscape:cx="735.5"
+     inkscape:cy="352.5"
+     inkscape:window-x="829"
+     inkscape:window-y="576"
+     inkscape:window-maximized="0"
+     inkscape:current-layer="svg3506" />
+  <line
+     x1="376"
+     y1="223"
+     x2="376"
+     y2="353"
+     id="line3508"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="376"
+     y1="353"
+     x2="371"
+     y2="344"
+     id="line3510"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="376"
+     y1="353"
+     x2="380"
+     y2="344"
+     id="line3512"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="436"
+     y1="353"
+     x2="436"
+     y2="223"
+     id="line3514"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="436"
+     y1="223"
+     x2="440"
+     y2="231"
+     id="line3516"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="436"
+     y1="223"
+     x2="431"
+     y2="231"
+     id="line3518"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="926"
+     y1="423"
+     x2="926"
+     y2="478"
+     id="line3520"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="926"
+     y1="478"
+     x2="966"
+     y2="486"
+     id="line3522"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="966"
+     y1="486"
+     x2="956"
+     y2="489"
+     id="line3524"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="966"
+     y1="486"
+     x2="958"
+     y2="479"
+     id="line3526"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="1024"
+     y1="523"
+     x2="1026"
+     y2="578"
+     id="line3528"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="1026"
+     y1="578"
+     x2="1066"
+     y2="588"
+     id="line3530"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="1066"
+     y1="588"
+     x2="1056"
+     y2="590"
+     id="line3532"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="1066"
+     y1="588"
+     x2="1058"
+     y2="581"
+     id="line3534"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="516"
+     y1="188"
+     x2="561"
+     y2="188"
+     id="line3536"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="561"
+     y1="188"
+     x2="561"
+     y2="403"
+     id="line3538"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="561"
+     y1="403"
+     x2="706"
+     y2="453"
+     id="line3540"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="706"
+     y1="453"
+     x2="696"
+     y2="454"
+     id="line3542"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="706"
+     y1="453"
+     x2="699"
+     y2="445"
+     id="line3544"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="728"
+     y1="123"
+     x2="904"
+     y2="180"
+     id="line3546"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="904"
+     y1="180"
+     x2="894"
+     y2="182"
+     id="line3548"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="904"
+     y1="180"
+     x2="897"
+     y2="172"
+     id="line3550"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="966"
+     y1="123"
+     x2="988"
+     y2="180"
+     id="line3552"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="988"
+     y1="180"
+     x2="980"
+     y2="173"
+     id="line3554"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="988"
+     y1="180"
+     x2="989"
+     y2="170"
+     id="line3556"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="1265"
+     y1="123"
+     x2="1071"
+     y2="180"
+     id="line3558"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="1071"
+     y1="180"
+     x2="1077"
+     y2="172"
+     id="line3560"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="1071"
+     y1="180"
+     x2="1080"
+     y2="182"
+     id="line3562"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <rect
+     x="296"
+     y="122"
+     width="240"
+     height="339"
+     id="rect3564"
+     style="fill:#c0c0c0" />
+  <rect
+     x="296"
+     y="122"
+     width="241"
+     height="340"
+     id="rect3566"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <text
+     x="359"
+     y="139"
+     style="font-size:12px;font-family:SansSerif"
+     id="text3568">Req and attacks</text>
+  <rect
+     x="596"
+     y="328"
+     width="749"
+     height="324"
+     id="rect3570"
+     style="fill:#c0c0c0" />
+  <rect
+     x="596"
+     y="328"
+     width="750"
+     height="325"
+     id="rect3572"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <text
+     x="933"
+     y="345"
+     style="font-size:12px;font-family:SansSerif"
+     id="text3574">SW Design</text>
+  <rect
+     x="596"
+     y="16"
+     width="835"
+     height="251"
+     id="rect3576"
+     style="fill:#c0c0c0" />
+  <rect
+     x="596"
+     y="16"
+     width="836"
+     height="252"
+     id="rect3578"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <text
+     x="945"
+     y="33"
+     style="font-size:12px;font-family:SansSerif"
+     id="text3580">SW/HW Partitioning</text>
+  <rect
+     x="16"
+     y="253"
+     width="199"
+     height="69"
+     id="rect3582"
+     style="fill:#e4f1f2" />
+  <rect
+     x="16"
+     y="253"
+     width="200"
+     height="70"
+     id="rect3584"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <text
+     x="70"
+     y="266"
+     style="font-size:12px;font-family:SansSerif"
+     id="text3586">Assumptions</text>
+  <rect
+     x="316"
+     y="153"
+     width="199"
+     height="69"
+     id="rect3588"
+     style="fill:#e4f1f2" />
+  <rect
+     x="316"
+     y="153"
+     width="200"
+     height="70"
+     id="rect3590"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <text
+     x="366"
+     y="166"
+     style="font-size:12px;font-family:SansSerif"
+     id="text3592">Requirements</text>
+  <text
+     x="321"
+     y="193"
+     style="font-size:12px;font-family:SansSerif"
+     id="text3594">SecurityRequirements</text>
+  <rect
+     x="316"
+     y="353"
+     width="199"
+     height="69"
+     id="rect3596"
+     style="fill:#e4f1f2" />
+  <rect
+     x="316"
+     y="353"
+     width="200"
+     height="70"
+     id="rect3598"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <text
+     x="389"
+     y="366"
+     style="font-size:12px;font-family:SansSerif"
+     id="text3600">Attacks</text>
+  <text
+     x="321"
+     y="393"
+     style="font-size:12px;font-family:SansSerif"
+     id="text3602">RetrieveData</text>
+  <text
+     x="487"
+     y="393"
+     style="font-size:12px;font-family:SansSerif"
+     id="text3604">upp</text>
+  <text
+     x="454"
+     y="393"
+     style="font-size:12px;font-family:SansSerif"
+     id="text3606">simu</text>
+  <rect
+     x="616"
+     y="53"
+     width="223"
+     height="69"
+     id="rect3608"
+     style="fill:#e4f1f2" />
+  <rect
+     x="616"
+     y="53"
+     width="224"
+     height="70"
+     id="rect3610"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <text
+     x="673"
+     y="66"
+     style="font-size:12px;font-family:SansSerif"
+     id="text3612">Functional view</text>
+  <text
+     x="621"
+     y="93"
+     style="font-size:12px;font-family:SansSerif"
+     id="text3614">NonSecureFV</text>
+  <text
+     x="825"
+     y="93"
+     style="font-size:12px;font-family:SansSerif"
+     id="text3616">fv</text>
+  <text
+     x="801"
+     y="93"
+     style="font-size:12px;font-family:SansSerif"
+     id="text3618">tml</text>
+  <text
+     x="780"
+     y="93"
+     style="font-size:12px;font-family:SansSerif"
+     id="text3620">lot</text>
+  <text
+     x="751"
+     y="93"
+     style="font-size:12px;font-family:SansSerif"
+     id="text3622">upp</text>
+  <text
+     x="621"
+     y="108"
+     style="font-size:12px;font-family:SansSerif"
+     id="text3624">SecureFV</text>
+  <text
+     x="825"
+     y="108"
+     style="font-size:12px;font-family:SansSerif"
+     id="text3626">fv</text>
+  <text
+     x="801"
+     y="108"
+     style="font-size:12px;font-family:SansSerif"
+     id="text3628">tml</text>
+  <text
+     x="780"
+     y="108"
+     style="font-size:12px;font-family:SansSerif"
+     id="text3630">lot</text>
+  <text
+     x="751"
+     y="108"
+     style="font-size:12px;font-family:SansSerif"
+     id="text3632">upp</text>
+  <text
+     x="689"
+     y="108"
+     style="font-size:12px;font-family:SansSerif"
+     id="text3634">sim-trace</text>
+  <rect
+     x="1116"
+     y="54"
+     width="298"
+     height="68"
+     id="rect3636"
+     style="fill:#e4f1f2" />
+  <rect
+     x="1116"
+     y="54"
+     width="299"
+     height="69"
+     id="rect3638"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <text
+     x="1204"
+     y="67"
+     style="font-size:12px;font-family:SansSerif"
+     id="text3640">Architecture view</text>
+  <text
+     x="1121"
+     y="94"
+     style="font-size:12px;font-family:SansSerif"
+     id="text3642">NonSecureArchitectureWithNonSecureFV</text>
+  <text
+     x="1121"
+     y="109"
+     style="font-size:12px;font-family:SansSerif"
+     id="text3644">SecureArchitectureWithNonSecureFV</text>
+  <rect
+     x="779"
+     y="180"
+     width="417"
+     height="67"
+     id="rect3646"
+     style="fill:#e4f1f2" />
+  <rect
+     x="779"
+     y="180"
+     width="418"
+     height="68"
+     id="rect3648"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <text
+     x="957"
+     y="193"
+     style="font-size:12px;font-family:SansSerif"
+     id="text3650">Mapping</text>
+  <text
+     x="784"
+     y="220"
+     style="font-size:12px;font-family:SansSerif"
+     id="text3652">NonSecureArchitectureWithNonSecureFV</text>
+  <text
+     x="1138"
+     y="220"
+     style="font-size:12px;font-family:SansSerif"
+     id="text3654">sim-anim</text>
+  <text
+     x="1076"
+     y="220"
+     style="font-size:12px;font-family:SansSerif"
+     id="text3656">sim-trace</text>
+  <text
+     x="784"
+     y="235"
+     style="font-size:12px;font-family:SansSerif"
+     id="text3658">SecureArchitectureWithNonSecureFV</text>
+  <text
+     x="1138"
+     y="235"
+     style="font-size:12px;font-family:SansSerif"
+     id="text3660">sim-anim</text>
+  <text
+     x="1076"
+     y="235"
+     style="font-size:12px;font-family:SansSerif"
+     id="text3662">sim-trace</text>
+  <text
+     x="1039"
+     y="235"
+     style="font-size:12px;font-family:SansSerif"
+     id="text3664">tmap</text>
+  <rect
+     x="853"
+     y="53"
+     width="226"
+     height="69"
+     id="rect3666"
+     style="fill:#e4f1f2" />
+  <rect
+     x="853"
+     y="53"
+     width="227"
+     height="70"
+     id="rect3668"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <text
+     x="883"
+     y="66"
+     style="font-size:12px;font-family:SansSerif"
+     id="text3670">Communication pattern</text>
+  <rect
+     x="866"
+     y="353"
+     width="199"
+     height="69"
+     id="rect3672"
+     style="fill:#e4f1f2" />
+  <rect
+     x="866"
+     y="353"
+     width="200"
+     height="70"
+     id="rect3674"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <text
+     x="936"
+     y="366"
+     style="font-size:12px;font-family:SansSerif"
+     id="text3676">Analysis</text>
+  <rect
+     x="966"
+     y="450"
+     width="289"
+     height="72"
+     id="rect3678"
+     style="fill:#e4f1f2" />
+  <rect
+     x="966"
+     y="450"
+     width="290"
+     height="73"
+     id="rect3680"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <text
+     x="1086"
+     y="463"
+     style="font-size:12px;font-family:SansSerif"
+     id="text3682">Design</text>
+  <text
+     x="971"
+     y="490"
+     style="font-size:12px;font-family:SansSerif"
+     id="text3684">SecurityProtocolDesign</text>
+  <text
+     x="1234"
+     y="490"
+     style="font-size:12px;font-family:SansSerif"
+     id="text3686">inv</text>
+  <text
+     x="1182"
+     y="490"
+     style="font-size:12px;font-family:SansSerif"
+     id="text3688">proverif</text>
+  <text
+     x="1153"
+     y="490"
+     style="font-size:12px;font-family:SansSerif"
+     id="text3690">upp</text>
+  <text
+     x="1120"
+     y="490"
+     style="font-size:12px;font-family:SansSerif"
+     id="text3692">simu</text>
+  <rect
+     x="1066"
+     y="553"
+     width="199"
+     height="69"
+     id="rect3694"
+     style="fill:#e4f1f2" />
+  <rect
+     x="1066"
+     y="553"
+     width="200"
+     height="70"
+     id="rect3696"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <text
+     x="1124"
+     y="566"
+     style="font-size:12px;font-family:SansSerif"
+     id="text3698">Prototyping</text>
+  <rect
+     x="616"
+     y="453"
+     width="179"
+     height="69"
+     id="rect3700"
+     style="fill:#e4f1f2" />
+  <rect
+     x="616"
+     y="453"
+     width="180"
+     height="70"
+     id="rect3702"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <text
+     x="668"
+     y="466"
+     style="font-size:12px;font-family:SansSerif"
+     id="text3704">Properties</text>
+</svg>
diff --git a/doc/SysMLSec/fig/proverif1.png b/doc/SysMLSec/fig/proverif1.png
new file mode 100644
index 0000000000000000000000000000000000000000..f145f703d818e892d80d37c8f617518ee5745aed
Binary files /dev/null and b/doc/SysMLSec/fig/proverif1.png differ
diff --git a/doc/SysMLSec/fig/requirements1.svg b/doc/SysMLSec/fig/requirements1.svg
new file mode 100644
index 0000000000000000000000000000000000000000..8555d97fd61dea413b7c837b9ce9a3e0f58e26fd
--- /dev/null
+++ b/doc/SysMLSec/fig/requirements1.svg
@@ -0,0 +1,118 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   version="1.1"
+   width="380"
+   height="151"
+   viewbox="178 116 384 142"
+   id="svg2"
+   inkscape:version="0.48.5 r10040"
+   sodipodi:docname="requirements1.svg">
+  <metadata
+     id="metadata32">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <defs
+     id="defs30" />
+  <sodipodi:namedview
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1"
+     objecttolerance="10"
+     gridtolerance="10"
+     guidetolerance="10"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:window-width="640"
+     inkscape:window-height="480"
+     id="namedview28"
+     showgrid="false"
+     inkscape:zoom="0.58185053"
+     inkscape:cx="281"
+     inkscape:cy="266.49235"
+     inkscape:window-x="840"
+     inkscape:window-y="439"
+     inkscape:window-maximized="0"
+     inkscape:current-layer="svg2" />
+  <rect
+     x="3"
+     y="8"
+     width="374"
+     height="132"
+     id="rect4"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="3"
+     y1="38"
+     x2="377"
+     y2="38"
+     id="line6"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <rect
+     x="4"
+     y="9"
+     width="372"
+     height="28"
+     id="rect8"
+     style="fill:#e4f1f2" />
+  <rect
+     x="4"
+     y="39"
+     width="372"
+     height="100"
+     id="rect10"
+     style="fill:#cdc46d" />
+  <text
+     x="142"
+     y="18"
+     style="font-size:10px;font-family:SansSerif"
+     id="text12">&lt;&lt;Requirement&gt;&gt;</text>
+  <text
+     x="107"
+     y="30"
+     style="font-size:12px;font-family:SansSerif"
+     id="text14">CommunicationSecurity</text>
+  <text
+     x="8"
+     y="50"
+     style="font-size:12px;font-family:SansSerif"
+     id="text16">ID=0</text>
+  <text
+     x="8"
+     y="62"
+     style="font-size:12px;font-family:SansSerif"
+     id="text18">Text=&quot;The data exchanged between functional tasks</text>
+  <text
+     x="8"
+     y="74"
+     style="font-size:12px;font-family:SansSerif"
+     id="text20">must be confidential&quot;</text>
+  <text
+     x="8"
+     y="86"
+     style="font-size:12px;font-family:SansSerif"
+     id="text22">Kind=&quot;Confidentiality&quot;</text>
+  <text
+     x="8"
+     y="98"
+     style="font-size:12px;font-family:SansSerif"
+     id="text24">Risk=&quot;Medium&quot;</text>
+  <text
+     x="8"
+     y="110"
+     style="font-size:12px;font-family:SansSerif"
+     id="text26">Reference elements=&quot;&quot;</text>
+</svg>
diff --git a/doc/SysMLSec/fig/requirements2.svg b/doc/SysMLSec/fig/requirements2.svg
new file mode 100644
index 0000000000000000000000000000000000000000..5b5391ad9f8f19499ed2636c052f333bea1528fa
--- /dev/null
+++ b/doc/SysMLSec/fig/requirements2.svg
@@ -0,0 +1,291 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   version="1.1"
+   width="400"
+   height="333"
+   viewbox="178 116 384 317"
+   id="svg4538"
+   inkscape:version="0.48.5 r10040"
+   sodipodi:docname="requirements2.svg">
+  <metadata
+     id="metadata4622">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <defs
+     id="defs4620" />
+  <sodipodi:namedview
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1"
+     objecttolerance="10"
+     gridtolerance="10"
+     guidetolerance="10"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:window-width="640"
+     inkscape:window-height="480"
+     id="namedview4618"
+     showgrid="false"
+     inkscape:zoom="0.54503464"
+     inkscape:cx="281"
+     inkscape:cy="216.5"
+     inkscape:window-x="1099"
+     inkscape:window-y="582"
+     inkscape:window-maximized="0"
+     inkscape:current-layer="svg4538" />
+  <rect
+     x="8.6991529"
+     y="13.661011"
+     width="374"
+     height="132"
+     id="rect4540"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="8.6991529"
+     y1="43.661011"
+     x2="382.69916"
+     y2="43.661011"
+     id="line4542"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <rect
+     x="9.6991529"
+     y="14.661011"
+     width="372"
+     height="28"
+     id="rect4544"
+     style="fill:#e4f1f2" />
+  <rect
+     x="9.6991529"
+     y="44.661011"
+     width="372"
+     height="100"
+     id="rect4546"
+     style="fill:#cdc46d" />
+  <text
+     x="147.69916"
+     y="23.661011"
+     style="font-size:10px;font-family:SansSerif"
+     id="text4548">&lt;&lt;Requirement&gt;&gt;</text>
+  <text
+     x="112.69915"
+     y="35.661011"
+     style="font-size:12px;font-family:SansSerif"
+     id="text4550">CommunicationSecurity</text>
+  <text
+     x="13.699153"
+     y="55.661011"
+     style="font-size:12px;font-family:SansSerif"
+     id="text4552">ID=0</text>
+  <text
+     x="13.699153"
+     y="67.661011"
+     style="font-size:12px;font-family:SansSerif"
+     id="text4554">Text=&quot;The data exchanged between functional tasks</text>
+  <text
+     x="13.699153"
+     y="79.661011"
+     style="font-size:12px;font-family:SansSerif"
+     id="text4556">must be confidential&quot;</text>
+  <text
+     x="13.699153"
+     y="91.661011"
+     style="font-size:12px;font-family:SansSerif"
+     id="text4558">Kind=&quot;Confidentiality&quot;</text>
+  <text
+     x="13.699153"
+     y="103.66101"
+     style="font-size:12px;font-family:SansSerif"
+     id="text4560">Risk=&quot;Medium&quot;</text>
+  <text
+     x="13.699153"
+     y="115.66101"
+     style="font-size:12px;font-family:SansSerif"
+     id="text4562">Reference elements=&quot;&quot;</text>
+  <rect
+     x="11.699153"
+     y="214.66101"
+     width="368"
+     height="106"
+     id="rect4564"
+     style="fill:none;stroke:#ff0000;stroke-width:1" />
+  <line
+     x1="11.699153"
+     y1="244.66101"
+     x2="379.69916"
+     y2="244.66101"
+     id="line4566"
+     style="fill:none;stroke:#ff0000;stroke-width:1" />
+  <rect
+     x="12.699153"
+     y="215.66101"
+     width="366"
+     height="28"
+     id="rect4568"
+     style="fill:#e4f1f2" />
+  <rect
+     x="12.699153"
+     y="245.66101"
+     width="366"
+     height="74"
+     id="rect4570"
+     style="fill:#cdc46d" />
+  <text
+     x="147.69916"
+     y="224.66101"
+     style="font-size:10px;font-family:SansSerif"
+     id="text4572">&lt;&lt;Requirement&gt;&gt;</text>
+  <text
+     x="82.69915"
+     y="236.66101"
+     style="font-size:12px;font-family:SansSerif"
+     id="text4574">ConfidentialityBetweenT1andT2</text>
+  <text
+     x="16.699152"
+     y="256.66101"
+     style="font-size:12px;font-family:SansSerif"
+     id="text4576">ID=1</text>
+  <text
+     x="16.699152"
+     y="268.66101"
+     style="font-size:12px;font-family:SansSerif"
+     id="text4578">Text=&quot;&quot;</text>
+  <text
+     x="16.699152"
+     y="280.66101"
+     style="font-size:12px;font-family:SansSerif"
+     id="text4580">Kind=&quot;Confidentiality&quot;</text>
+  <text
+     x="16.699152"
+     y="292.66101"
+     style="font-size:12px;font-family:SansSerif"
+     id="text4582">Risk=&quot;Medium&quot;</text>
+  <text
+     x="16.699152"
+     y="304.66101"
+     style="font-size:12px;font-family:SansSerif"
+     id="text4584">Reference elements=&quot;Attack: RetrieveconfidentialData&quot;</text>
+  <line
+     x1="11.699153"
+     y1="214.66101"
+     x2="21.699152"
+     y2="214.66101"
+     id="line4586"
+     style="fill:none;stroke:#1a72f4;stroke-width:1" />
+  <line
+     x1="11.699153"
+     y1="214.66101"
+     x2="11.699153"
+     y2="224.66101"
+     id="line4588"
+     style="fill:none;stroke:#1a72f4;stroke-width:1" />
+  <line
+     x1="190.69916"
+     y1="214.66101"
+     x2="200.69916"
+     y2="214.66101"
+     id="line4590"
+     style="fill:none;stroke:#1a72f4;stroke-width:1" />
+  <line
+     x1="379.69916"
+     y1="214.66101"
+     x2="369.69916"
+     y2="214.66101"
+     id="line4592"
+     style="fill:none;stroke:#1a72f4;stroke-width:1" />
+  <line
+     x1="379.69916"
+     y1="214.66101"
+     x2="379.69916"
+     y2="224.66101"
+     id="line4594"
+     style="fill:none;stroke:#1a72f4;stroke-width:1" />
+  <line
+     x1="11.699153"
+     y1="262.66101"
+     x2="11.699153"
+     y2="272.66101"
+     id="line4596"
+     style="fill:none;stroke:#1a72f4;stroke-width:1" />
+  <line
+     x1="11.699153"
+     y1="320.66101"
+     x2="21.699152"
+     y2="320.66101"
+     id="line4598"
+     style="fill:none;stroke:#1a72f4;stroke-width:1" />
+  <line
+     x1="11.699153"
+     y1="320.66101"
+     x2="11.699153"
+     y2="310.66101"
+     id="line4600"
+     style="fill:none;stroke:#1a72f4;stroke-width:1" />
+  <line
+     x1="190.69916"
+     y1="320.66101"
+     x2="200.69916"
+     y2="320.66101"
+     id="line4602"
+     style="fill:none;stroke:#1a72f4;stroke-width:1" />
+  <line
+     x1="379.69916"
+     y1="320.66101"
+     x2="369.69916"
+     y2="320.66101"
+     id="line4604"
+     style="fill:none;stroke:#1a72f4;stroke-width:1" />
+  <line
+     x1="379.69916"
+     y1="320.66101"
+     x2="379.69916"
+     y2="310.66101"
+     id="line4606"
+     style="fill:none;stroke:#1a72f4;stroke-width:1" />
+  <line
+     x1="379.69916"
+     y1="262.66101"
+     x2="379.69916"
+     y2="272.66101"
+     id="line4608"
+     style="fill:none;stroke:#1a72f4;stroke-width:1" />
+  <line
+     x1="195.69916"
+     y1="214.66101"
+     x2="195.69916"
+     y2="145.66101"
+     id="line4610"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="195.69916"
+     y1="145.66101"
+     x2="199.69916"
+     y2="153.66101"
+     id="line4612"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <line
+     x1="195.69916"
+     y1="145.66101"
+     x2="190.69916"
+     y2="153.66101"
+     id="line4614"
+     style="fill:none;stroke:#000000;stroke-width:1" />
+  <text
+     x="157.69916"
+     y="179.66101"
+     style="font-size:12px;font-family:SansSerif"
+     id="text4616">&lt;&lt;refine&gt;&gt;</text>
+</svg>
diff --git a/doc/SysMLSec/fig/simu_mapping1.png b/doc/SysMLSec/fig/simu_mapping1.png
new file mode 100644
index 0000000000000000000000000000000000000000..fd28815252390e2f0e1467560a1faf732438fa9b
Binary files /dev/null and b/doc/SysMLSec/fig/simu_mapping1.png differ
diff --git a/doc/SysMLSec/fig/simu_mapping3.png b/doc/SysMLSec/fig/simu_mapping3.png
new file mode 100644
index 0000000000000000000000000000000000000000..e40523ac74719ea7abed1fd8ba8da4c54d19debf
Binary files /dev/null and b/doc/SysMLSec/fig/simu_mapping3.png differ
diff --git a/doc/SysMLSec/fig/trace1.png b/doc/SysMLSec/fig/trace1.png
new file mode 100644
index 0000000000000000000000000000000000000000..48c0048ef866da6649c2236d7de1b43ab815a72a
Binary files /dev/null and b/doc/SysMLSec/fig/trace1.png differ
diff --git a/doc/SysMLSec/sysmlsec_documentation.tex b/doc/SysMLSec/sysmlsec_documentation.tex
new file mode 100644
index 0000000000000000000000000000000000000000..94cd00bacf9c266df061b42e038e2b532b9a3802
--- /dev/null
+++ b/doc/SysMLSec/sysmlsec_documentation.tex
@@ -0,0 +1,390 @@
+\documentclass[12pt]{article}
+\usepackage{amsmath}
+\usepackage{latexsym}
+\usepackage{amsfonts}
+\usepackage{amssymb}
+\usepackage{graphicx}
+\usepackage{txfonts}
+\usepackage{wasysym}
+\usepackage{adjustbox}
+\usepackage{ragged2e}
+\usepackage{tabularx}
+\usepackage{hhline}
+\usepackage{float}
+\usepackage{multirow}
+\usepackage{makecell}
+\usepackage{fancyhdr}
+\usepackage[utf8]{inputenc}
+\usepackage[T1]{fontenc}
+\usepackage[a4paper,bindingoffset=0.2in,headsep=0.5cm,left=1in,right=1in,bottom=3cm,top=2cm,headheight=2cm]{geometry}
+\usepackage{hyperref}
+\usepackage{listings}
+\usepackage[most]{tcolorbox}
+
+\lstset{language=C,basicstyle=\scriptsize\ttfamily,keywordstyle=\bfseries, commentstyle=\textit,stringstyle=\ttfamily, showspaces=false,showstringspaces=false, frame=single,
+  breaklines=true,
+  postbreak=\mbox{\textcolor{red}{$\hookrightarrow$}\space},
+}
+
+\everymath{\displaystyle}
+\pagestyle{fancy}
+\fancyhf{}
+\rfoot{Page \thepage}
+\begin{document}
+\sloppy 
+
+\begin{center}
+
+\includegraphics[width=0.2\textwidth]{fig/logotpt}
+\vspace{10 pt}\\
+\Huge TTool \\
+\vspace{10 pt}
+\Large \url{ttool.telecom-paristech.fr}
+\vspace{20 pt}\\
+\underline{\Large SysML-Sec Tutorial}
+\vspace{30 pt}
+\end{center}
+
+\begin{table}[H]
+\large
+\centering
+\begin{adjustbox}{width=\textwidth}
+\begin{tabular}{ |p{1.6cm}|p{6.0cm}|p{4.2cm}|p{4.2cm}| }
+\hhline{----}
+ & \textbf{Document Manager} & \textbf{Contributors}  & \textbf{Checked by}  \\ 
+\hhline{----}
+\textbf{Name}   & Ludovic APVRILLE & \multirow{2}{*}{Ludovic APVRILLE} &
+\multirow{2}{*}{Ludovic APVRILLE} \\
+\hhline{--~~}
+\textbf{Contact} & ludovic.apvrille@telecom-paristech.fr &  &  \\ 
+\hhline{--~~}
+\textbf{Date} & \today &  &  \\ 
+\hline
+\end{tabular}
+\end{adjustbox}
+\end{table}
+
+\newpage
+\tableofcontents
+
+% \newpage
+% \listoffigures
+
+\newpage
+\section{Preface}
+
+\subsection{Table of Versions}
+
+\begin{table}[H]
+\large
+\centering
+\begin{adjustbox}{width=\textwidth}
+\begin{tabular}{ |p{1.5cm}|p{2.5cm}|p{9.0cm}|p{3.0cm}| }
+\hhline{----}
+\textbf{Version} & \textbf{Date} & \textbf{Description  $  \&  $  Rationale of
+Modifications} & \textbf{Sections Modified} \\
+\hhline{----}
+1.0 & April 3rd, 2018 & First draft &  \\ 
+\hline
+\end{tabular}
+\end{adjustbox}
+\end{table}
+
+\subsection{Table of References and Applicable Documents}
+
+\begin{table}[H]
+\large
+\centering
+\begin{adjustbox}{width=\textwidth}
+\begin{tabular}{ |p{2.66in}|p{2.66in}|p{0.95in}|p{0.43in}| }
+\hhline{----}
+\textbf{Reference} & \textbf{Title  $  \&  $  Edition} & \textbf{Author or
+Editor} & \textbf{Year}
+\\
+\hhline{----}
+ &  &  &  \\ 
+\hline
+\end{tabular}
+\end{adjustbox}
+\end{table}
+
+\subsection{Acronyms and glossary}
+
+\begin{table}[H]
+\large
+\centering
+\begin{adjustbox}{width=\textwidth}
+\begin{tabular}{ |p{1.24in}|p{5.45in}| }
+\hhline{--}
+\textbf{Term} & \textbf{Description} \\ 
+\hhline{--}
+ &  \\ 
+\hline
+\end{tabular}
+\end{adjustbox}
+\end{table}
+
+\subsection{Summary}
+
+This document describes how to use SysML-Sec using simple examples\footnote{This document has been started in the scope of the AQUAS european project}. In particular, it covers requirements, attack trees, HW/SW partitioning and software design.
+
+\newpage
+
+\section{Configuration}\label{sec:conf}
+\subsection{TTool configuration}
+At first, if not already configured\footnote{You version of TTool should be already configured}, you must open the configuration file of TTool. The default file is located in:
+\begin{verbatim}
+TTool/bin/config.xml
+\end{verbatim}
+Open your configuration file, and add the following lines accordingly with your TTool and ProVerif installation:
+\begin{itemize}
+\item Directory in which formal specifications for security proofs are generated:
+\begin{verbatim}
+<ProVerifCodeDirectory data="../proverif/" />
+\end{verbatim}
+\item Path to the proverif executable file:
+\begin{verbatim}
+<ProVerifVerifierPath data="/opt/proverif/proverif" />
+\end{verbatim}
+\item Host on which the proof will be started (for example, you could execute this proof on a dedicated machine if the "ProVerifCodeDirectory" is reachable from that dedicated machine):
+\begin{verbatim}
+<ProVerifVerifierHost data="localhost" />
+\end{verbatim}
+\end{itemize}
+We also assume that the DIPLODOCUS simulator works correctly.
+
+
+\subsection{External tools}
+The  configuration for the DIPLODOCUS simulator assumes that a \textbf{C compiler}, referenced by the provided Makefile (default = "gcc"\footnote{\url{https://gcc.gnu.org/}}) is installed on your machine, as well as the \textbf{POSIX-1 librairies}. Also, a Makefile utility must be installed (e.g., "GNU make"\footnote{\url{https://www.gnu.org/software/make/}}).
+
+\newpage
+\section{Getting started with a toy example}\label{sec:example}
+This very first example explains how to use the main capabilities of SysML-Sec.
+
+\subsection{Getting the example}
+Be sure to get the latest version of TTool including the remote loading of models (March 2018 and after). Do: File, Open from TTool repository, and select "SysMLSecTutorial.xml".
+
+\subsection{Understanding the model}
+The first tab of the model presents an overview of the SysML-Sec methodology (see Figure \ref{fig:method}). Each stage of the method is represented with a rectangle that contains a link to the corresponding diagrams.  All other tabs correspond to the diagrams of the model.
+
+
+\begin{figure*}[htbp]
+\centering
+\includegraphics[width=0.99\textwidth]{build/method-svg.pdf}
+
+\caption{The first diagram represents the SysML-Sec method. Each stage of the method is represented by a rectangle that contains a link to all diagrams of the corresponding stage} \label{fig:method}
+\end{figure*}
+
+\subsection{Security requirements}
+Security requirements are captured with a SysML requirement diagram that is extended in the following ways:
+\begin{enumerate}
+\item Requirements can be tagged as "Functional", "Non Functional", "Privacy", "Confidentiality", "Non Repudiation", "Controlled Access", "Availability", "Immunity", "Data Origin Authenticity", "Freshness", "Business", "Stakeholder Need", "Other"
+\item Requirements have a \textbf{risk} attribute (low, medium, high).
+\item Property blocks can be added in order to reference a given property. Then, a "satisfy" link can be drawn between a Property and a Requirement.
+\end{enumerate}
+
+The requirement diagram of Figure \ref{fig:req1} shows a confidentiality requirements that states that all functional communication paths should be confidential.
+
+\begin{figure*}[htbp]
+\centering
+\includegraphics[width=0.5\textwidth]{build/requirements1-svg.pdf}
+\caption{Security requirements (version \#1)} \label{fig:req1}
+\end{figure*}
+
+\subsection{Functional Model (version 1)}
+The functional model is built upon the merge of a  SysML Block Definition Diagram and a SysML Internal Block Diagram, see Figure \ref{fig:fv1}. The functional view contains two blocks : T1 and T2.  The functional behavior of T1 and T2 is captured with Activity diagrams, as displayed on the left and right of Figure \ref{fig:fv1}. Basically, T1 writes one data sample, and T2 reads one data sample.
+
+
+\begin{figure*}[htbp]
+\centering
+\includegraphics[width=0.1\textwidth]{build/fv1_t1-svg.pdf}
+\includegraphics[width=0.7\textwidth]{build/fv1-svg.pdf}
+\includegraphics[width=0.1\textwidth]{build/fv1_t2-svg.pdf}
+\caption{Functional View (version \#1)} \label{fig:fv1}
+\end{figure*}
+
+As shown on the block diagram, T1 and T2 are connected with a data communication channel. Since this communication channel must be secure (see Figure \ref{fig:req1}), we can now enrich the Requirement Diagram with a new security requirement connected to the initial security requirement (see Figure \ref{fig:req2})
+
+\begin{figure*}[htbp]
+\centering
+\includegraphics[width=0.5\textwidth]{build/requirements2-svg.pdf}
+\caption{Security requirements (version \#2)} \label{fig:req2}
+\end{figure*}
+
+We also enrich the communication channel $comm$ between T1 and T2 with a confidentiality property, as shown by the \textit{grey lock} with the question marks just next to the port of comm in T1 (Figure \ref{fig:fv1}).
+
+\subsection{Architecture and Mapping Models (version 1)}
+
+A simple architecture model and mapping is shown in Figure \ref{fig:mapping1}. T1 and T2 are mapped on CPU1 and CPU2, respectively. The channel between T1 and T2 is mapped on "MainBus" and on "MainMemory".
+
+\begin{figure*}[htbp]
+\centering
+\includegraphics[width=0.8\textwidth]{build/mapping1-svg.pdf}
+\caption{Mapping Model (version \#1)} \label{fig:mapping1}
+\end{figure*}
+
+\subsection{Attack Tree Model}
+We can now capture potential attacks on this system in an attack tree model. However, SysML doesn't propose any way to capture fault or attack trees. TTool thus proposes relying on SysML parametric diagrams in order to capture attacks (or faults).
+
+\begin{figure*}[htbp]
+\centering
+\includegraphics[width=0.8\textwidth]{fig/attacktree.png}
+\caption{Attack Tree Model} \label{fig:attacktree}
+\end{figure*}
+
+The attack tree of Figure \ref{fig:attacktree} contains a root attack: "RetrieveConfidentialData". This root attack is possible if and only if the attacker first connects to the bus (let's call this attack $att_1$), and then reads (and interprets) a data on the bus ($att_2$). Making either $att_1$ or $att_2$ not possible in our system would be sufficient to ensure that the root attack is not possible. This is obvious in our attack tree, but this is not always the case, such as for larger systems with complex logical combinations of attack steps. Thus, TTool proposes a way to investigate if a given attack is still possible in the system directly from attack trees. Let's try together:
+\begin{enumerate}
+\item Right click on the root attack, and click on  "Select for Reachability/Liveness".
+\item Let's now see if the root attack is reachable. For this, check the syntax of the diagram, and click on the "Safety verification (internal tool)" icon. Then, select "Reachability of selected states" and click on start. Close the window. You diagram should be annotated with a green "R", as shown on Figure \ref{fig:attacktree_verif1}.
+\item Let's make $att_1$ or $att_2$ not feasible. For this, you can right click on e.g. $att_1$ and select "Disable". If an attack is disabled, it probably means that a countermeasure has been used. Thus, countermeasure blocks can be linked to attacks. In the case of $ att_1$, the countermeasure is to make the bus private (e.g., make it internal to a chip if the attacker has no way to investigate a bus within a chip). For $att_2$, a common countermeasure is to use security protocols relying on ciphering algorithms. For now, we assume that only $att_1$ is disabled. Run the verification process again. After this verification process, you should obtain a red "R", meaning that the root attack is no longer feasible (see Figure \ref{fig:attacktree_verif2})
+ \end{enumerate}
+
+
+\begin{figure*}[htbp]
+\centering
+\includegraphics[width=0.8\textwidth]{fig/attacktree_verif1.png}
+\caption{Attack Tree Model after formal verification with no attack steps disabled} \label{fig:attacktree_verif1}
+\end{figure*}
+
+\begin{figure*}[htbp]
+\centering
+\includegraphics[width=0.8\textwidth]{fig/attacktree_verif2.png}
+\caption{Attack Tree Model after formal verification with attack steps disabled by countermeasures} \label{fig:attacktree_verif2}
+\end{figure*}
+
+\subsection{Implementing security countermeasures}
+
+\subsubsection{Security verification}
+Before implementing security countermeasures in the mapping model, this document explains how to perform formal security
+ verification. Again, Figure \ref{fig:fv1} contains a security property on channel "comm" to verify that the latter is confidential. Let's now prove this confidentiality property on the first system version (see Figure \ref{fig:mapping1}):
+\begin{enumerate}
+\item Check the syntax of "NonSecureArchitectureWithNonSecureFV" diagram.
+\item Click on the "SecurityVerification (ProVerif)" icon. A dialog window should open: click on start. The results should be as shown in Figure \ref{fig:proverif1}.
+\item The result of the verification is displayed in the lower part of Figure \ref{fig:proverif1}. There are two results:
+\begin{itemize}
+\item The $comm$ channel is NOT confidential, which proves that the confidentiality requirement is NOT satisfied
+\item The read and write actions in T2 and T1 are reachable. This result is important in the case the property is satisfied. Indeed, if none of these actions were reachable, the channel would be confidential since there would be no exchange of data on this channel.
+\end{itemize}
+\item Since $comm$ is not confidential, TTool can draw an attack trace that shows how the attacker manages to retrieve the data. Right click on the non satisfied authenticity, and select "show trace" (see Figure \ref{fig:trace1}). This (obvious) trace explains that T1 directly send a data to the attacker since T1 writes the data on a public bus.
+\item The functional view is annotated with the verification results, as shown on Figure \ref{fig:fv1results}.
+\end{enumerate}
+
+\begin{figure*}[htbp]
+\centering
+\includegraphics[width=0.6\textwidth]{fig/proverif1.png}
+\caption{Security verification dialog window} \label{fig:proverif1}
+\end{figure*}
+
+
+\begin{figure*}[htbp]
+\centering
+\includegraphics[width=0.6\textwidth]{fig/trace1.png}
+\caption{Attack trace} \label{fig:trace1}
+\end{figure*}
+
+\begin{figure*}[htbp]
+\centering
+\includegraphics[width=0.1\textwidth]{build/fv1_t1_results-svg.pdf}
+\includegraphics[width=0.7\textwidth]{build/fv1_results-svg.pdf}
+\includegraphics[width=0.1\textwidth]{build/fv1_t2_results-svg.pdf}
+\caption{Functional View annotated with security verification} \label{fig:fv1results}
+\end{figure*}
+
+\subsubsection{Countermeasure 1: Secure Bus}
+As seen before, a first countermeasure is to use a secure bus, which is called "private" in TTool. Thus, the bus in the second mapping (called "SecureArchitectureWithNonSecureFV") is private. You can see this with the green shield icon on the bus. A double-click on this bus makes it possible to change this parameter (public, private).
+
+Try to run the security verification of this second system. You should observe that the confidentiality property is now verified.
+
+\begin{figure*}[htbp]
+\centering
+\includegraphics[width=0.6\textwidth]{build/mapping2-svg}
+\caption{Secure Architecture due to a private bus} \label{fig:mapping2}
+\end{figure*}
+
+\subsubsection{Countermeasure 2: Secure Functions}
+A second countermeasure consists in adding security mechanisms to the two functions T1 and T2. TTool offers cryptographic configurations to add security mechanisms to the behaviour of blocks (See our Modelsward 2017 paper). Basically, a cryptographic configuration specifies the type of security mechanism (symmetric cipher, hash, key manipulation, nonce, etc.) and its performance impact in terms of complexity operations by sample.
+
+The modified activity diagrams of T1 and T2 are given in Figure \ref{fig:fv3}. Note that only the activity diagrams have been modified with regards to previous version.
+
+\begin{figure*}[htbp]
+\centering
+\includegraphics[width=0.2\textwidth]{build/fv3_t1-svg.pdf}
+\includegraphics[width=0.4\textwidth]{build/fv3-svg.pdf}
+\includegraphics[width=0.2\textwidth]{build/fv3_t2-svg.pdf}
+\caption{Functional view updated with cryptographic configurations} \label{fig:fv3}
+\end{figure*}
+
+If you double-click on the SE operator of T1, the following windows should open (see Figure \ref{fig:ccdialog}). This dialog window contains the following fields:
+\begin{itemize}
+\item \textbf{Name} of the configuration. This name is useful to reference a given cryptographic configuration when writing/reading data. For instance, the write operator on $comm$ in T1 uses the Cipherdata cryptographic configuration.
+\item The \textbf{type} of the cryptographic configuration: Symmetric, Asymmetric, MAC, Hash, Nonce, Advanced. In our case, a symmetric encryption is selected.
+\item The \textbf{complexity}, in terms of integer operations, of the selected operation
+\item The use of \textbf{cryptographic material}: keys, nonces and precise algorithm (AES, etc.) 
+\end{itemize}
+
+
+\begin{figure*}[htbp]
+\centering
+\includegraphics[width=0.7\textwidth]{fig/ccdialog.png}
+\caption{Cryptographic configuration dialog window} \label{fig:ccdialog}
+\end{figure*}
+
+Let's now consider a third mapping (named "NonSecureArchitectureWithSecureFV") which basically consists in mapping the secure tasks to the non secure architecture (i.e., the one with the public bus). The result of the security verification of this system is given in Figure \ref{fig:fv3_result}. The confidentiality property is now verified.
+
+\begin{figure*}[htbp]
+\centering
+\includegraphics[width=0.7\textwidth]{build/fv3_result-svg}
+\caption{Verification result in the case of a non secure architecture but with secure functions} \label{fig:fv3_result}
+\end{figure*}
+
+Unfortunately, security mechanisms impact the performance of the system. TTool makes it possible to evaluate the performance of two different mappings,e.g. the one with no security (version 1), and the one with security mechanisms (version 3). To do this, TTool relies on the DIPLODOCUS simulator\footnote{see the tutorial on DIPLODOCUS to learn how to use the DIPLODOCUS simulator: https://ttool.telecom-paristech.fr/diplodocus.html}.
+
+Without taking into account penalties of the hardware platform (e.g. cache miss, task switching time, boot time, etc.), simulation takes 20 cycles in the case of the non secure system (see Figure \ref{fig:simu_mapping1}), and 220 (20 cycles + 100 cycles for ciphering + 100 cycles for deciphering) in the case of the secure mechanisms added to tasks(see Figure \ref{fig:simu_mapping3}).
+
+\begin{figure*}[htbp]
+\centering
+\includegraphics[width=0.5\textwidth]{fig/simu_mapping1}
+\caption{Simulation of non secure application mapped on the non secure architecture} \label{fig:simu_mapping1}
+\end{figure*}
+
+\begin{figure*}[htbp]
+\centering
+\includegraphics[width=0.99\textwidth]{fig/simu_mapping3}
+\caption{Excerpt of the simulation of the secure application mapped on the non secure architecture} \label{fig:simu_mapping3}
+\end{figure*}
+
+\subsection{Designing security protocols}
+During the HW/SW partitioning stage, security mechanisms have been modeled at a high level of abstraction, mostly to place them correctly in the system, and to evaluate their impact on the system performance. During the software design stage, security protocols can be designed in a more precise way.
+
+A software design contains a block diagram (see Figure \ref{fig:design}) as well as a state machine for each task block (see Figure \ref{fig:design_t}). 
+
+The block diagram contains a main block ("System") with two sub blocks ("T1" and "T2"). These tasks correspond to the same tasks modeled in the HW/SW Partitioning phase at a higher level of abstraction. Two other blocks "Key" and "Messages" are used to define custom data types. T1 and T2 are cryptoblocks, i.e. they define default cryptographic methods e.g. encrypt, decrypt, hash, mac, message manipulation (concat, cut), etc. Last, a pragma:
+\begin{itemize}
+\item links cryptographic keys of T1 and T2. This key "sk" is system-wide, which means that it is shared once for all protocol sessions.
+\item gives a security property to check: the value of the attribute "secretData" of "T1" must remain confidential. 
+\end{itemize}
+
+
+\begin{figure*}[htbp]
+\centering
+\includegraphics[width=0.9\textwidth]{build/design-svg.pdf}
+\caption{Design of a security protocol} \label{fig:design}
+\end{figure*}
+
+\begin{figure*}[htbp]
+\centering
+\includegraphics[width=0.2\textwidth]{build/design_t1-svg.pdf}\hspace{3cm}
+\includegraphics[width=0.35\textwidth]{build/design_t2-svg.pdf}
+\caption{State machines of T1 (on the left) and T2 (on the right)} \label{fig:design_t}
+\end{figure*}
+
+The security formal verification can be performed from these diagrams. Just like for HW/SW partitioning models, both security properties and the reachability of states can be studied, and results are back-traced to the diagrams with e.g. green locks when the property is satisfied (see Figure \ref{fig:design_result}).
+
+\begin{figure*}[htbp]
+\centering
+\includegraphics[width=0.9\textwidth]{build/design_result-svg.pdf}
+\caption{Result of the security verification} \label{fig:design_result}
+\end{figure*}
+
+
+\end{document}
diff --git a/doc/mli.mk b/doc/mli.mk
new file mode 100644
index 0000000000000000000000000000000000000000..284a60425e6614e8bcd7fc13e9cf7eb3ed5ecc49
--- /dev/null
+++ b/doc/mli.mk
@@ -0,0 +1,413 @@
+###########################################################
+#                 COPYRIGHT                               #
+#                 ---------                               #
+#                                                         #
+# See Copyright Notice in COPYING and license in LICENSE. #
+###########################################################
+
+###################################################
+# Default values of most important make variables #
+###################################################
+
+# mli needs bash
+SHELL		= bash
+# Default max number of compilations
+MAXPASSES	?= 30
+# List of figures source directories
+FIGDIR		?= figures
+# Build directory
+BUILDDIR	?= build
+# Verbosity (0: min...)
+V		?= 0
+# Tools
+# LaTeX compilation
+LATEX		?= $(shell which pdflatex 2> /dev/null)
+LATEXFLAGS	?= -halt-on-error -interaction=batchmode -output-directory=$(BUILDDIR)
+# BibTex
+BIBTEX		?= $(shell which bibtex 2> /dev/null)
+BIBTEXFLAGS	?=
+# Xfig to LaTeX/PDF
+FIG2DEV		?= $(shell which fig2dev 2> /dev/null)
+FIG2DEVFLAGS	?=
+# Graphviz to PDF
+DOT		?= $(shell which dot 2> /dev/null)
+DOTFLAGS	?= -Tpdf
+# EPS to PDF
+EPSTOPDF	?= $(shell which epstopdf 2> /dev/null)
+EPSTOPDFFLAGS	?=
+# DIA to EPS
+DIA		?= $(shell which dia 2> /dev/null)
+DIAFLAGS	?= -t eps-pango
+# Gnuplot to PDF
+GNUPLOT		?= $(shell which gnuplot 2> /dev/null)
+GNUPLOTFLAGS	?=
+# SVG to PDF
+SVGTOPDF	?= $(shell which inkscape 2> /dev/null)
+SVGTOPDFFLAGS	?=
+
+#########################################################
+# Normally you shouldn't have to change anything below. #
+# Unless you know what you are doing, of course.        #
+#########################################################
+
+NULL		:=
+SPACE		:= $(NULL) $(NULL)
+$(SPACE)	:= $(SPACE)# $( ) is a space
+TAB		:= $(NULL)	$(NULL)
+$(TAB)		:= $(TAB)# $(	) is a tabulation
+define \n
+
+
+endef
+# $(\n) is new line
+COMMA		:= $(NULL),$(NULL)
+
+define PARALLEL_message
+
+Invoking clean or ultraclean with other goals is not supported because of race
+conditions when using parallel make
+endef
+
+ifneq ($(words $(MAKECMDGOALS)),1)
+ifneq ($(filter clean ultraclean,$(MAKECMDGOALS)),)
+$(error $(PARALLEL_message))
+endif
+endif
+
+# Verbosity
+MAXV			:= 2
+
+ifeq ($(V),0)
+
+Q	:= @
+ECHO	:= @echo
+P	:= &> /dev/null
+
+else ifeq ($(V),1)
+
+Q	:=
+ECHO	:= @printf '\n************************************************************************\n'; echo
+P	:= &> /dev/null
+
+else
+
+Q	:=
+ECHO	:= @printf '\n************************************************************************\n'; echo
+P	:=
+
+endif
+
+# Files, path...
+TEXTOPS		= $(shell grep -l '[^%]*\\begin{document}' *.tex)
+PDFTARGETS	= $(patsubst %.tex,$(BUILDDIR)/%.pdf,$(TEXTOPS))
+TARGETS		= $(patsubst %.tex,%,$(TEXTOPS))
+TEXFILES	= $(wildcard *.tex)
+
+# Aux files
+TO_STOP_SUFFIXES	= aux bcf fls idx ind lof lot out toc
+TO_CLEAN_SUFFIXES	= $(TO_STOP_SUFFIXES) log bbl blg nav snm vrb
+TO_CLEAN_FILES		= $(foreach t,$(TARGETS),$(foreach s,$(TO_CLEAN_SUFFIXES),$(BUILDDIR)/$(t).$(s) $(BUILDDIR)/$(t).$(s).1))
+
+# Figures build files
+FIGURES	= $(XFIGPDFS) $(XFIGPDFTS) $(DOTPDFS) $(EPSPDFS) $(DIAEPSS) $(DIAPDFS) $(GNUPLOTPDFS) $(SVGPDFS)
+
+.PRECIOUS: $(FIGURES)
+
+define HELP_message
+
+Main goals:
+  help					print this help (default goal)
+  foo (or $(BUILDDIR)/foo.pdf)		build the $(BUILDDIR)/foo.pdf document
+  all					build all documents
+  clean					delete generated files except PDFs of documents
+  ultraclean				delete all generated files (but not the build directory)
+
+Main make variables (current value):
+  SHELL					must be bash ($(SHELL))
+  MAXPASSES				max number of compilations, minimum 2 ($(MAXPASSES))
+  FIGDIR				figures source directory ($(FIGDIR))
+  BUILDDIR				build directory ($(BUILDDIR))
+  V					verbosity - 0...$(MAXV) ($(V))
+  LATEX					compiler ($(LATEX))
+
+Please see mli.mk for other customizable variables.
+
+Buildable documents:
+  $(foreach t,$(sort $(TARGETS)),$(	)$(t) ($(BUILDDIR)/$(t).pdf)$(\n))
+Please report bugs or suggestions of improvements to:
+  Renaud Pacalet <renaud.pacalet@telecom-paristech.fr>
+endef
+export HELP_message
+
+define MAXPASSESLESS2_message
+
+Sorry, MAXPASSES ($(MAXPASSES)) must be larger or equal 2.
+endef
+export MAXPASSESLESS2_message
+
+define MAXPASSES_message
+
+Sorry, $(MAXPASSES) passes were not sufficient to build the document. Keeping
+two last versions of each generated files. Comparing them may help
+understanding the problem. Example:
+  diff $(BUILDDIR)/foo.aux $(BUILDDIR)/foo.aux.1
+Alternately, you can also try to increase the maximum number of passes:
+  make MAXPASSES=5 foo
+or the verbosity level:
+  make V=0...$(MAXV) foo
+endef
+export MAXPASSES_message
+
+# Targets
+help::
+	@echo "$$HELP_message"
+
+all: $(PDFTARGETS)
+
+.PHONY: $(TARGETS)
+
+$(TARGETS):
+	@$(MAKE) --no-print-directory $(BUILDDIR)/$@.pdf
+
+$(PDFTARGETS) $(FIGURES): | $(BUILDDIR)
+
+##################
+# xfig to PDFTEX #
+##################
+
+define FIG2DEVNOTFOUND_message
+
+Could not find fig2dev. Cannot produce the pdf from fig sources. Please install
+fig2dev and point your PATH to the fig2dev executable. Alternately you can also
+pass the fig2dev variable wen invoking make:
+  make FIG2DEV=/opt/bin/fig2dev foo
+endef
+export FIG2DEVNOTFOUND_message
+
+# xfig to PDF (figure without text) and LaTeX (text and included PDF). Pattern
+# rule to instruct make than one single recipe execution builds the two targets.
+# $(1): figures source directory
+# $(2): figure base name (xfig file is $(1)/$(2).fig)
+define XFIGTOPDF_rule
+
+$(BUILDDIR)/$(2)-fig%pdf $(BUILDDIR)/$(2)-fig%pdf_t: $(1)/$(2).fig
+ifeq ($(FIG2DEV),)
+	@echo "$$$$FIG2DEVNOTFOUND_message"
+else
+	$(ECHO) "[FIG2DEV]	$$< -> $(BUILDDIR)/$(2)-fig.pdf $(BUILDDIR)/$(2)-fig.pdf_t"
+	$(Q)$(FIG2DEV) $(FIG2DEVFLAGS) -L pdftex $$< $(BUILDDIR)/$(2)-fig.pdf $(P) && \
+	$(FIG2DEV) $(FIG2DEVFLAGS) -L pdftex_t -p $(BUILDDIR)/$(2)-fig.pdf $$< $(BUILDDIR)/$(2)-fig.pdf_t $(P)
+endif
+
+XFIGPDFS	+= $(BUILDDIR)/$(2)-fig.pdf
+XFIGPDFTS	+= $(BUILDDIR)/$(2)-fig.pdf_t
+
+endef
+$(foreach d,$(FIGDIR),$(foreach f,$(patsubst $(d)/%.fig,%,$(wildcard $(d)/*.fig)),$(eval $(call XFIGTOPDF_rule,$(d),$(f)))))
+
+#########################
+# dot (graphviz) to PDF #
+#########################
+
+define DOTNOTFOUND_message
+
+Could not find dot. Cannot produce the PDF from dot sources. Please install dot
+and point your PATH to the dot executable. Alternately you can also pass the dot
+variable wen invoking make:
+  make DOT=/opt/bin/dot foo
+endef
+export DOTNOTFOUND_message
+
+define DOTTOPDF_rule
+
+$(BUILDDIR)/$(2)-dot.pdf: $(1)/$(2).dot
+ifeq ($(DOT),)
+	@echo "$$$$DOTNOTFOUND_message"
+else
+	$(ECHO) '[DOT]		$$< -> $$@'
+	$(Q)$(DOT) $(DOTFLAGS) -o$$@ $$< $(P)
+endif
+
+DOTPDFS	+= $(BUILDDIR)/$(2)-dot.pdf
+
+endef
+$(foreach d,$(FIGDIR),$(foreach f,$(patsubst $(d)/%.dot,%,$(wildcard $(d)/*.dot)),$(eval $(call DOTTOPDF_rule,$(d),$(f)))))
+
+######################
+# dia to EPS and PDF #
+######################
+
+define DIANOTFOUND_message
+
+Could not find dia. Cannot produce the PDF from dia sources. Please install dia
+and point your PATH to the dia executable. Alternately you can also pass the dia
+variable wen invoking make:
+  make DIA=/opt/bin/dia foo
+endef
+export DIANOTFOUND_message
+
+# dia to EPS and then to PDF
+define DIATOPDF_rule
+
+$(BUILDDIR)/$(2)-dia%eps $(BUILDDIR)/$(2)-dia%pdf: $(1)/$(2).dia
+ifeq ($(DIA),)
+	@echo "$$$$DIANOTFOUND_message"
+else ifeq ($(EPSTOPDF),)
+	@echo "$$$$EPSTOPDFNOTFOUND_message"
+else
+	$(ECHO) '[DIA]		$$< -> $(BUILDDIR)/$(2)-dia.pdf'
+	$(Q)$(DIA) $(DIAFLAGS) -e $(BUILDDIR)/$(2)-dia.eps $$< $(P) && \
+	$(EPSTOPDF) $(EPSTOPDFFLAGS) --outfile=$(BUILDDIR)/$(2)-dia.pdf $(BUILDDIR)/$(2)-dia.eps $(P)
+endif
+
+DIAEPSS	+= $(BUILDDIR)/$(2)-dia.eps
+DIAPDFS	+= $(BUILDDIR)/$(2)-dia.pdf
+
+endef
+$(foreach d,$(FIGDIR),$(foreach f,$(patsubst $(d)/%.dia,%,$(wildcard $(d)/*.dia)),$(eval $(call DIATOPDF_rule,$(d),$(f)))))
+
+##############
+# EPS to PDF #
+##############
+
+define EPSTOPDFNOTFOUND_message
+
+Could not find epstopdf. Cannot produce the PDF from EPS sources. Please install epstopdf
+and point your PATH to the epstopdf executable. Alternately you can also pass the epstopdf
+variable wen invoking make:
+  make EPSTOPDF=/opt/bin/epstopdf foo
+endef
+export EPSTOPDFNOTFOUND_message
+
+define EPSTOPDF_rule
+
+$(BUILDDIR)/$(2)-eps.pdf: $(1)/$(2).eps
+ifeq ($(EPSTOPDF),)
+	@echo "$$$$EPSTOPDFNOTFOUND_message"
+else
+	$(ECHO) '[EPSTOPDF]	$$< -> $$@'
+	$(Q)$(EPSTOPDF) $(EPSTOPDFFLAGS) --outfile=$$@ $$< $(P)
+endif
+
+EPSPDFS	+= $(BUILDDIR)/$(2)-eps.pdf
+
+endef
+$(foreach d,$(FIGDIR),$(foreach f,$(patsubst $(d)/%.eps,%,$(filter-out $(DIAEPSS),$(wildcard $(d)/*.eps))),$(eval $(call EPSTOPDF_rule,$(d),$(f)))))
+
+##################
+# gnuplot to PDF #
+##################
+
+define GNUPLOTNOTFOUND_message
+
+Could not find gnuplot. Cannot produce the PDF from gnuplot sources. Please install
+gnuplot and point your PATH to the gnuplot executable. Alternately you can
+also pass the GNUPLOT variable wen invoking make:
+  make GNUPLOT=/opt/bin/gnuplot foo
+endef
+export GNUPLOTNOTFOUND_message
+
+define GNUPLOTTOPDF_rule
+
+$(BUILDDIR)/$(2)-gnuplot.pdf: $(1)/$(2).gnuplot
+ifeq ($(GNUPLOT),)
+	@echo "$$$$GNUPLOTNOTFOUND_message"
+else
+	$(ECHO) '[GNUPLOT]	$$< -> $$@'
+	$(Q)$(GNUPLOT) $(GNUPLOTFLAGS) -e "set output '| ps2pdf - $$@'" $$< $(P)
+endif
+
+GNUPLOTPDFS	+= $(BUILDDIR)/$(2)-gnuplot.pdf
+
+endef
+$(foreach d,$(FIGDIR),$(foreach f,$(patsubst $(d)/%.gnuplot,%,$(wildcard $(d)/*.gnuplot)),$(eval $(call GNUPLOTTOPDF_rule,$(d),$(f)))))
+
+##############
+# SVG to PDF #
+##############
+
+define SVGTOPDFNOTFOUND_message
+
+Could not find $(SVGTOPDF). Cannot produce the PDF from svg sources. Please install
+$(SVGTOPDF) and point your PATH to the $(SVGTOPDF) executable. Alternately you can
+also pass the SVGTOPDF variable wen invoking make:
+  make SVGTOPDF=/opt/bin/inkscape foo
+endef
+export SVGTOPDFNOTFOUND_message
+
+define SVGTOPDF_rule
+
+$(BUILDDIR)/$(2)-svg.pdf: $(1)/$(2).svg
+ifeq ($(SVGTOPDF),)
+	@echo "$$$$SVGTOPDFNOTFOUND_message"
+else
+	$(ECHO) '[SVGTOPDF]	$$< -> $$@'
+	$(Q)$(SVGTOPDF) $(SVGTOPDFFLAGS) $$< --export-pdf=$$@ $(P)
+endif
+
+SVGPDFS	+= $(BUILDDIR)/$(2)-svg.pdf
+
+endef
+$(foreach d,$(FIGDIR),$(foreach f,$(patsubst $(d)/%.svg,%,$(wildcard $(d)/*.svg)),$(eval $(call SVGTOPDF_rule,$(d),$(f)))))
+
+define LATEX_run
+.PHONY: $(1)_latex
+
+$(1)_latex:
+	$(ECHO) '[LATEX #$$(N)]	$(1).tex -> $(BUILDDIR)/$(1).pdf'
+	$(Q)$(LATEX) $(LATEXFLAGS) $(1) $(P)
+endef
+$(foreach doc,$(TARGETS),$(eval $(call LATEX_run,$(doc))))
+
+define BIBTEX_run
+.PHONY: $(1)_bibtex
+
+$(1)_bibtex:
+	$(ECHO) '[BIBTEX]	$(BUILDDIR)/$(1).aux -> $(BUILDDIR)/$(1).bbl'
+	-$(Q)$(BIBTEX) $(BUILDDIR)/$(1) $(P)
+endef
+$(foreach doc,$(TARGETS),$(eval $(call BIBTEX_run,$(doc))))
+
+$(PDFTARGETS): $(BUILDDIR)/%.pdf: %.tex
+	@if (( $(MAXPASSES) + 0 < 2 )); then \
+       		echo "$$MAXPASSESLESS2_message"; \
+		exit -1; \
+	fi; \
+	$(MAKE) --no-print-directory N=1 $*_latex || exit -1; \
+	if [[ -f $(BUILDDIR)/$*.aux ]] && egrep -q '(\\citation)|(\\bibdata)|(\\bibstyle)' $(BUILDDIR)/$*.aux; then \
+		$(MAKE) --no-print-directory $*_bibtex; \
+	fi; \
+	for (( i = 2; i <= $(MAXPASSES); i += 1 )); do \
+		for e in $(TO_STOP_SUFFIXES); do \
+			if [[ -f $(BUILDDIR)/$*.$$e ]]; then \
+				cp -f $(BUILDDIR)/$*.$$e $(BUILDDIR)/$*.$$e.1; \
+			fi; \
+		done; \
+		$(MAKE) --no-print-directory N=$$i $*_latex || exit -1; \
+		for e in $(TO_STOP_SUFFIXES); do \
+			if [[ -f $(BUILDDIR)/$*.$$e ]]; then \
+				if [[ -f $(BUILDDIR)/$*.$$e.1 ]] && ! diff --brief $(BUILDDIR)/$*.$$e $(BUILDDIR)/$*.$$e.1 &> /dev/null; then \
+					continue 2; \
+				fi; \
+			fi; \
+		done; \
+		rm -f $(patsubst %,$(BUILDDIR)/%.1,$(TO_STOP_SUFFIXES)); \
+		egrep -i '(warning)|(error)' $(BUILDDIR)/$*.log | egrep -v '(infwarerr)|(LaTeX Font Warning:)|(float specifier changed to)|(Package inputenc Warning:)'; \
+		break; \
+	done; \
+	if (( i > $(MAXPASSES) )); then \
+		echo "$$MAXPASSES_message"; \
+		exit -1; \
+	fi
+
+$(BUILDDIR):
+	$(ECHO) '[MKDIR]		$(BUILDDIR)'
+	$(Q)mkdir -p $(BUILDDIR)
+
+clean:
+	$(ECHO) '[RM]		figures and temporary files'
+	$(Q)rm -f $(FIGURES) $(TO_CLEAN_FILES)
+
+ultraclean: clean
+	$(ECHO) '[RM]		$(PDFTARGETS)'
+	$(Q)rm -f $(PDFTARGETS)
diff --git a/modeling/AVATAR/MicroWaveOven_SafetySecurity_fullMethodo.xml b/modeling/AVATAR/MicroWaveOven_SafetySecurity_fullMethodo.xml
index 88478a23c6cec072f7a62aa47dc53d15bb07d41f..f76c9d0d7aae1ac6ac39643ba2b18ff886d7be23 100644
--- a/modeling/AVATAR/MicroWaveOven_SafetySecurity_fullMethodo.xml
+++ b/modeling/AVATAR/MicroWaveOven_SafetySecurity_fullMethodo.xml
@@ -5232,7 +5232,7 @@ or by a maintenance station
 
 
 <Modeling type="AVATAR Design" nameTab="Design" >
-<AVATARBlockDiagramPanel name="Block Diagram" minX="10" maxX="1400" minY="10" maxY="1400" >
+<AVATARBlockDiagramPanel name="Block Diagram" minX="10" maxX="899" minY="10" maxY="899" zoom="1.0000000000000016" >
 <MainCode value="#include &lt;sys/types.h&gt;"/>
 <MainCode value="#include &lt;sys/socket.h&gt;"/>
 <MainCode value="#include &lt;netinet/in.h&gt;"/>
@@ -5281,7 +5281,7 @@ or by a maintenance station
 <MainCode value=""/>
 <MainCode value="}"/>
 <Optimized value="true" />
-<Validated value="ObserverProp1;RemotelyControlledMicrowave;RemoteControl;MicroWaveOven;Bell;ControlPanel;Controller;Magnetron;Door;WirelessInterface;" />
+<Validated value="" />
 <Ignored value="" />
 
 <CONNECTOR type="5002" id="2890" >
@@ -5289,8 +5289,8 @@ or by a maintenance station
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from Block0 to Block0" value="" />
 <TGConnectingPoint num="0" id="2889" />
-<P1  x="664" y="794" id="3057" />
-<P2  x="669" y="837" id="2925" />
+<P1  x="658" y="789" id="3040" />
+<P2  x="665" y="832" id="2908" />
 <AutomaticDrawing  data="true" />
 <extraparam>
 <isd value="in obs_open()" />
@@ -5307,8 +5307,8 @@ or by a maintenance station
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from Block0 to Block0" value="" />
 <TGConnectingPoint num="0" id="2891" />
-<P1  x="411" y="496" id="3127" />
-<P2  x="115" y="497" id="3152" />
+<P1  x="409" y="491" id="3110" />
+<P2  x="112" y="492" id="3135" />
 <AutomaticDrawing  data="true" />
 <extraparam>
 <isd value="in remoteStart(int value)" />
@@ -5323,10 +5323,10 @@ or by a maintenance station
 <TGConnectingPoint num="0" id="2895" />
 <TGConnectingPoint num="1" id="2896" />
 <TGConnectingPoint num="2" id="2897" />
-<P1  x="331" y="184" id="3175" />
-<P2  x="815" y="184" id="3176" />
-<Point x="332" y="151" />
-<Point x="815" y="151" />
+<P1  x="328" y="179" id="3158" />
+<P2  x="810" y="179" id="3159" />
+<Point x="329" y="150" />
+<Point x="812" y="150" />
 <AutomaticDrawing  data="true" />
 <extraparam>
 <iso value="in wirelessChannelRead(Message msg)" />
@@ -5335,7 +5335,7 @@ or by a maintenance station
 </extraparam>
 </CONNECTOR><SUBCOMPONENT type="-1" id="2893" >
 <father id="2898" num="0" />
-<cdparam x="332" y="151" />
+<cdparam x="329" y="150" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
@@ -5343,7 +5343,7 @@ or by a maintenance station
 </SUBCOMPONENT>
 <SUBCOMPONENT type="-1" id="2894" >
 <father id="2898" num="1" />
-<cdparam x="815" y="151" />
+<cdparam x="812" y="150" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
@@ -5355,8 +5355,8 @@ or by a maintenance station
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from Block0 to Block0" value="" />
 <TGConnectingPoint num="0" id="2899" />
-<P1  x="418" y="752" id="3054" />
-<P2  x="319" y="751" id="2996" />
+<P1  x="415" y="748" id="3037" />
+<P2  x="311" y="746" id="2979" />
 <AutomaticDrawing  data="true" />
 <extraparam>
 <isd value="in ring()" />
@@ -5369,8 +5369,8 @@ or by a maintenance station
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from Block0 to Block0" value="" />
 <TGConnectingPoint num="0" id="2901" />
-<P1  x="792" y="766" id="3104" />
-<P2  x="746" y="752" id="3055" />
+<P1  x="789" y="761" id="3087" />
+<P2  x="740" y="748" id="3038" />
 <AutomaticDrawing  data="true" />
 <extraparam>
 <isd value="in open()" />
@@ -5385,8 +5385,8 @@ or by a maintenance station
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from Block0 to Block0" value="" />
 <TGConnectingPoint num="0" id="2903" />
-<P1  x="746" y="627" id="3044" />
-<P2  x="777" y="538" id="3070" />
+<P1  x="740" y="625" id="3027" />
+<P2  x="775" y="532" id="3053" />
 <AutomaticDrawing  data="true" />
 <extraparam>
 <isd value="in startM()" />
@@ -5401,8 +5401,8 @@ or by a maintenance station
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector from Block0 to Block0" value="" />
 <TGConnectingPoint num="0" id="2905" />
-<P1  x="385" y="597" id="3021" />
-<P2  x="418" y="710" id="3045" />
+<P1  x="377" y="593" id="3004" />
+<P2  x="415" y="707" id="3028" />
 <AutomaticDrawing  data="true" />
 <extraparam>
 <iso value="in LEDOn()" />
@@ -5414,16 +5414,12 @@ or by a maintenance station
 <FIFOType asynchronous="false" size="1" blocking="false" private="true" broadcast="false" lossy="false" />
 </extraparam>
 </CONNECTOR>
-<COMPONENT type="302" id="2923" >
-<cdparam x="382" y="26" />
-<sizeparam width="668" height="97" minWidth="80" minHeight="10" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<COMPONENT type="5000" id="2931" >
+<cdparam x="554" y="832" />
+<sizeparam width="223" height="126" minWidth="1" minHeight="0" maxWidth="3125" maxHeight="3125" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="1400" />
-<infoparam name="Proverif Pragma" value="#InitialSystemKnowledge RemoteControl.PSK WirelessInterface.PSK
-#Authenticity RemoteControl.SendingRemoteOrder.msg WirelessInterface.gotDecryptedOrder.msg2
-
-#Confidentiality RemoteControl.duration
-" />
+<cdrectangleparam minX="6" maxX="369" minY="6" maxY="369" />
+<infoparam name="Block0" value="ObserverProp1" />
 <TGConnectingPoint num="0" id="2907" />
 <TGConnectingPoint num="1" id="2908" />
 <TGConnectingPoint num="2" id="2909" />
@@ -5440,44 +5436,14 @@ or by a maintenance station
 <TGConnectingPoint num="13" id="2920" />
 <TGConnectingPoint num="14" id="2921" />
 <TGConnectingPoint num="15" id="2922" />
-<extraparam>
-<Line value="#InitialSystemKnowledge RemoteControl.PSK WirelessInterface.PSK" />
-<Line value="#Authenticity RemoteControl.SendingRemoteOrder.msg WirelessInterface.gotDecryptedOrder.msg2" />
-<Line value="" />
-<Line value="#Confidentiality RemoteControl.duration" />
-</extraparam>
-</COMPONENT>
-
-<COMPONENT type="5000" id="2948" >
-<cdparam x="557" y="837" />
-<sizeparam width="225" height="131" minWidth="5" minHeight="2" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<hidden value="false" />
-<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="1400" />
-<infoparam name="Block0" value="ObserverProp1" />
-<TGConnectingPoint num="0" id="2924" />
-<TGConnectingPoint num="1" id="2925" />
-<TGConnectingPoint num="2" id="2926" />
-<TGConnectingPoint num="3" id="2927" />
-<TGConnectingPoint num="4" id="2928" />
-<TGConnectingPoint num="5" id="2929" />
-<TGConnectingPoint num="6" id="2930" />
-<TGConnectingPoint num="7" id="2931" />
-<TGConnectingPoint num="8" id="2932" />
-<TGConnectingPoint num="9" id="2933" />
-<TGConnectingPoint num="10" id="2934" />
-<TGConnectingPoint num="11" id="2935" />
-<TGConnectingPoint num="12" id="2936" />
-<TGConnectingPoint num="13" id="2937" />
-<TGConnectingPoint num="14" id="2938" />
-<TGConnectingPoint num="15" id="2939" />
-<TGConnectingPoint num="16" id="2940" />
-<TGConnectingPoint num="17" id="2941" />
-<TGConnectingPoint num="18" id="2942" />
-<TGConnectingPoint num="19" id="2943" />
-<TGConnectingPoint num="20" id="2944" />
-<TGConnectingPoint num="21" id="2945" />
-<TGConnectingPoint num="22" id="2946" />
-<TGConnectingPoint num="23" id="2947" />
+<TGConnectingPoint num="16" id="2923" />
+<TGConnectingPoint num="17" id="2924" />
+<TGConnectingPoint num="18" id="2925" />
+<TGConnectingPoint num="19" id="2926" />
+<TGConnectingPoint num="20" id="2927" />
+<TGConnectingPoint num="21" id="2928" />
+<TGConnectingPoint num="22" id="2929" />
+<TGConnectingPoint num="23" id="2930" />
 <extraparam>
 <CryptoBlock value="false" />
 <Signal value="in obs_open()" attached="true" />
@@ -5486,111 +5452,111 @@ or by a maintenance station
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="5003" id="2957" >
-<cdparam x="326" y="839" />
-<sizeparam width="203" height="93" minWidth="5" minHeight="2" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<COMPONENT type="5003" id="2940" >
+<cdparam x="325" y="835" />
+<sizeparam width="200" height="90" minWidth="1" minHeight="0" maxWidth="3125" maxHeight="3125" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="1400" />
+<cdrectangleparam minX="6" maxX="369" minY="6" maxY="369" />
 <infoparam name="DataType0" value="Message" />
-<TGConnectingPoint num="0" id="2949" />
-<TGConnectingPoint num="1" id="2950" />
-<TGConnectingPoint num="2" id="2951" />
-<TGConnectingPoint num="3" id="2952" />
-<TGConnectingPoint num="4" id="2953" />
-<TGConnectingPoint num="5" id="2954" />
-<TGConnectingPoint num="6" id="2955" />
-<TGConnectingPoint num="7" id="2956" />
+<TGConnectingPoint num="0" id="2932" />
+<TGConnectingPoint num="1" id="2933" />
+<TGConnectingPoint num="2" id="2934" />
+<TGConnectingPoint num="3" id="2935" />
+<TGConnectingPoint num="4" id="2936" />
+<TGConnectingPoint num="5" id="2937" />
+<TGConnectingPoint num="6" id="2938" />
+<TGConnectingPoint num="7" id="2939" />
 <extraparam>
 <Attribute access="0" id="data" value="" type="8" typeOther="" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="5003" id="2966" >
-<cdparam x="92" y="837" />
-<sizeparam width="203" height="90" minWidth="5" minHeight="2" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<COMPONENT type="5003" id="2949" >
+<cdparam x="89" y="832" />
+<sizeparam width="200" height="87" minWidth="1" minHeight="0" maxWidth="3125" maxHeight="3125" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="1400" />
+<cdrectangleparam minX="6" maxX="369" minY="6" maxY="369" />
 <infoparam name="DataType0" value="Key" />
-<TGConnectingPoint num="0" id="2958" />
-<TGConnectingPoint num="1" id="2959" />
-<TGConnectingPoint num="2" id="2960" />
-<TGConnectingPoint num="3" id="2961" />
-<TGConnectingPoint num="4" id="2962" />
-<TGConnectingPoint num="5" id="2963" />
-<TGConnectingPoint num="6" id="2964" />
-<TGConnectingPoint num="7" id="2965" />
+<TGConnectingPoint num="0" id="2941" />
+<TGConnectingPoint num="1" id="2942" />
+<TGConnectingPoint num="2" id="2943" />
+<TGConnectingPoint num="3" id="2944" />
+<TGConnectingPoint num="4" id="2945" />
+<TGConnectingPoint num="5" id="2946" />
+<TGConnectingPoint num="6" id="2947" />
+<TGConnectingPoint num="7" id="2948" />
 <extraparam>
 <Attribute access="0" id="data" value="" type="8" typeOther="" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="5000" id="3191" >
-<cdparam x="90" y="184" />
-<sizeparam width="967" height="631" minWidth="5" minHeight="2" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<COMPONENT type="5000" id="3174" >
+<cdparam x="87" y="179" />
+<sizeparam width="964" height="626" minWidth="1" minHeight="0" maxWidth="3125" maxHeight="3125" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="1400" />
+<cdrectangleparam minX="6" maxX="369" minY="6" maxY="369" />
 <infoparam name="Block0" value="RemotelyControlledMicrowave" />
-<TGConnectingPoint num="0" id="3167" />
-<TGConnectingPoint num="1" id="3168" />
-<TGConnectingPoint num="2" id="3169" />
-<TGConnectingPoint num="3" id="3170" />
-<TGConnectingPoint num="4" id="3171" />
-<TGConnectingPoint num="5" id="3172" />
-<TGConnectingPoint num="6" id="3173" />
-<TGConnectingPoint num="7" id="3174" />
-<TGConnectingPoint num="8" id="3175" />
-<TGConnectingPoint num="9" id="3176" />
-<TGConnectingPoint num="10" id="3177" />
-<TGConnectingPoint num="11" id="3178" />
-<TGConnectingPoint num="12" id="3179" />
-<TGConnectingPoint num="13" id="3180" />
-<TGConnectingPoint num="14" id="3181" />
-<TGConnectingPoint num="15" id="3182" />
-<TGConnectingPoint num="16" id="3183" />
-<TGConnectingPoint num="17" id="3184" />
-<TGConnectingPoint num="18" id="3185" />
-<TGConnectingPoint num="19" id="3186" />
-<TGConnectingPoint num="20" id="3187" />
-<TGConnectingPoint num="21" id="3188" />
-<TGConnectingPoint num="22" id="3189" />
-<TGConnectingPoint num="23" id="3190" />
+<TGConnectingPoint num="0" id="3150" />
+<TGConnectingPoint num="1" id="3151" />
+<TGConnectingPoint num="2" id="3152" />
+<TGConnectingPoint num="3" id="3153" />
+<TGConnectingPoint num="4" id="3154" />
+<TGConnectingPoint num="5" id="3155" />
+<TGConnectingPoint num="6" id="3156" />
+<TGConnectingPoint num="7" id="3157" />
+<TGConnectingPoint num="8" id="3158" />
+<TGConnectingPoint num="9" id="3159" />
+<TGConnectingPoint num="10" id="3160" />
+<TGConnectingPoint num="11" id="3161" />
+<TGConnectingPoint num="12" id="3162" />
+<TGConnectingPoint num="13" id="3163" />
+<TGConnectingPoint num="14" id="3164" />
+<TGConnectingPoint num="15" id="3165" />
+<TGConnectingPoint num="16" id="3166" />
+<TGConnectingPoint num="17" id="3167" />
+<TGConnectingPoint num="18" id="3168" />
+<TGConnectingPoint num="19" id="3169" />
+<TGConnectingPoint num="20" id="3170" />
+<TGConnectingPoint num="21" id="3171" />
+<TGConnectingPoint num="22" id="3172" />
+<TGConnectingPoint num="23" id="3173" />
 <extraparam>
 <CryptoBlock value="false" />
 <Signal value="in wirelessChannelRead(Message msg)" attached="true" />
 <Signal value="out wirelessChannelWrite(Message msg)" attached="true" />
 </extraparam>
 </COMPONENT>
-<SUBCOMPONENT type="5000" id="2991" >
-<father id="3191" num="0" />
-<cdparam x="433" y="231" />
-<sizeparam width="414" height="148" minWidth="5" minHeight="2" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<SUBCOMPONENT type="5000" id="2974" >
+<father id="3174" num="0" />
+<cdparam x="429" y="226" />
+<sizeparam width="410" height="143" minWidth="1" minHeight="0" maxWidth="3125" maxHeight="3125" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="553" minY="0" maxY="483" />
+<cdrectangleparam minX="0" maxX="554" minY="0" maxY="483" />
 <infoparam name="Block0" value="RemoteControl" />
-<TGConnectingPoint num="0" id="2967" />
-<TGConnectingPoint num="1" id="2968" />
-<TGConnectingPoint num="2" id="2969" />
-<TGConnectingPoint num="3" id="2970" />
-<TGConnectingPoint num="4" id="2971" />
-<TGConnectingPoint num="5" id="2972" />
-<TGConnectingPoint num="6" id="2973" />
-<TGConnectingPoint num="7" id="2974" />
-<TGConnectingPoint num="8" id="2975" />
-<TGConnectingPoint num="9" id="2976" />
-<TGConnectingPoint num="10" id="2977" />
-<TGConnectingPoint num="11" id="2978" />
-<TGConnectingPoint num="12" id="2979" />
-<TGConnectingPoint num="13" id="2980" />
-<TGConnectingPoint num="14" id="2981" />
-<TGConnectingPoint num="15" id="2982" />
-<TGConnectingPoint num="16" id="2983" />
-<TGConnectingPoint num="17" id="2984" />
-<TGConnectingPoint num="18" id="2985" />
-<TGConnectingPoint num="19" id="2986" />
-<TGConnectingPoint num="20" id="2987" />
-<TGConnectingPoint num="21" id="2988" />
-<TGConnectingPoint num="22" id="2989" />
-<TGConnectingPoint num="23" id="2990" />
+<TGConnectingPoint num="0" id="2950" />
+<TGConnectingPoint num="1" id="2951" />
+<TGConnectingPoint num="2" id="2952" />
+<TGConnectingPoint num="3" id="2953" />
+<TGConnectingPoint num="4" id="2954" />
+<TGConnectingPoint num="5" id="2955" />
+<TGConnectingPoint num="6" id="2956" />
+<TGConnectingPoint num="7" id="2957" />
+<TGConnectingPoint num="8" id="2958" />
+<TGConnectingPoint num="9" id="2959" />
+<TGConnectingPoint num="10" id="2960" />
+<TGConnectingPoint num="11" id="2961" />
+<TGConnectingPoint num="12" id="2962" />
+<TGConnectingPoint num="13" id="2963" />
+<TGConnectingPoint num="14" id="2964" />
+<TGConnectingPoint num="15" id="2965" />
+<TGConnectingPoint num="16" id="2966" />
+<TGConnectingPoint num="17" id="2967" />
+<TGConnectingPoint num="18" id="2968" />
+<TGConnectingPoint num="19" id="2969" />
+<TGConnectingPoint num="20" id="2970" />
+<TGConnectingPoint num="21" id="2971" />
+<TGConnectingPoint num="22" id="2972" />
+<TGConnectingPoint num="23" id="2973" />
 <extraparam>
 <CryptoBlock value="true" />
 <Attribute access="0" id="duration" value="12" type="8" typeOther="" />
@@ -5623,73 +5589,73 @@ or by a maintenance station
 <globalCode value="/* This is my global code !!!! */" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="5000" id="3166" >
-<father id="3191" num="1" />
-<cdparam x="115" y="394" />
-<sizeparam width="921" height="412" minWidth="5" minHeight="2" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<SUBCOMPONENT type="5000" id="3149" >
+<father id="3174" num="1" />
+<cdparam x="112" y="390" />
+<sizeparam width="918" height="409" minWidth="1" minHeight="0" maxWidth="3125" maxHeight="3125" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="46" minY="0" maxY="219" />
+<cdrectangleparam minX="0" maxX="46" minY="0" maxY="217" />
 <infoparam name="Block0" value="MicroWaveOven" />
-<TGConnectingPoint num="0" id="3142" />
-<TGConnectingPoint num="1" id="3143" />
-<TGConnectingPoint num="2" id="3144" />
-<TGConnectingPoint num="3" id="3145" />
-<TGConnectingPoint num="4" id="3146" />
-<TGConnectingPoint num="5" id="3147" />
-<TGConnectingPoint num="6" id="3148" />
-<TGConnectingPoint num="7" id="3149" />
-<TGConnectingPoint num="8" id="3150" />
-<TGConnectingPoint num="9" id="3151" />
-<TGConnectingPoint num="10" id="3152" />
-<TGConnectingPoint num="11" id="3153" />
-<TGConnectingPoint num="12" id="3154" />
-<TGConnectingPoint num="13" id="3155" />
-<TGConnectingPoint num="14" id="3156" />
-<TGConnectingPoint num="15" id="3157" />
-<TGConnectingPoint num="16" id="3158" />
-<TGConnectingPoint num="17" id="3159" />
-<TGConnectingPoint num="18" id="3160" />
-<TGConnectingPoint num="19" id="3161" />
-<TGConnectingPoint num="20" id="3162" />
-<TGConnectingPoint num="21" id="3163" />
-<TGConnectingPoint num="22" id="3164" />
-<TGConnectingPoint num="23" id="3165" />
+<TGConnectingPoint num="0" id="3125" />
+<TGConnectingPoint num="1" id="3126" />
+<TGConnectingPoint num="2" id="3127" />
+<TGConnectingPoint num="3" id="3128" />
+<TGConnectingPoint num="4" id="3129" />
+<TGConnectingPoint num="5" id="3130" />
+<TGConnectingPoint num="6" id="3131" />
+<TGConnectingPoint num="7" id="3132" />
+<TGConnectingPoint num="8" id="3133" />
+<TGConnectingPoint num="9" id="3134" />
+<TGConnectingPoint num="10" id="3135" />
+<TGConnectingPoint num="11" id="3136" />
+<TGConnectingPoint num="12" id="3137" />
+<TGConnectingPoint num="13" id="3138" />
+<TGConnectingPoint num="14" id="3139" />
+<TGConnectingPoint num="15" id="3140" />
+<TGConnectingPoint num="16" id="3141" />
+<TGConnectingPoint num="17" id="3142" />
+<TGConnectingPoint num="18" id="3143" />
+<TGConnectingPoint num="19" id="3144" />
+<TGConnectingPoint num="20" id="3145" />
+<TGConnectingPoint num="21" id="3146" />
+<TGConnectingPoint num="22" id="3147" />
+<TGConnectingPoint num="23" id="3148" />
 <extraparam>
 <CryptoBlock value="false" />
 <Signal value="in remoteStart(int value)" attached="true" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="5000" id="3016" >
-<father id="3166" num="0" />
-<cdparam x="138" y="704" />
-<sizeparam width="181" height="95" minWidth="5" minHeight="2" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<SUBCOMPONENT type="5000" id="2999" >
+<father id="3149" num="0" />
+<cdparam x="135" y="701" />
+<sizeparam width="176" height="90" minWidth="1" minHeight="0" maxWidth="3125" maxHeight="3125" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="740" minY="0" maxY="317" />
+<cdrectangleparam minX="0" maxX="742" minY="0" maxY="319" />
 <infoparam name="Block0" value="Bell" />
-<TGConnectingPoint num="0" id="2992" />
-<TGConnectingPoint num="1" id="2993" />
-<TGConnectingPoint num="2" id="2994" />
-<TGConnectingPoint num="3" id="2995" />
-<TGConnectingPoint num="4" id="2996" />
-<TGConnectingPoint num="5" id="2997" />
-<TGConnectingPoint num="6" id="2998" />
-<TGConnectingPoint num="7" id="2999" />
-<TGConnectingPoint num="8" id="3000" />
-<TGConnectingPoint num="9" id="3001" />
-<TGConnectingPoint num="10" id="3002" />
-<TGConnectingPoint num="11" id="3003" />
-<TGConnectingPoint num="12" id="3004" />
-<TGConnectingPoint num="13" id="3005" />
-<TGConnectingPoint num="14" id="3006" />
-<TGConnectingPoint num="15" id="3007" />
-<TGConnectingPoint num="16" id="3008" />
-<TGConnectingPoint num="17" id="3009" />
-<TGConnectingPoint num="18" id="3010" />
-<TGConnectingPoint num="19" id="3011" />
-<TGConnectingPoint num="20" id="3012" />
-<TGConnectingPoint num="21" id="3013" />
-<TGConnectingPoint num="22" id="3014" />
-<TGConnectingPoint num="23" id="3015" />
+<TGConnectingPoint num="0" id="2975" />
+<TGConnectingPoint num="1" id="2976" />
+<TGConnectingPoint num="2" id="2977" />
+<TGConnectingPoint num="3" id="2978" />
+<TGConnectingPoint num="4" id="2979" />
+<TGConnectingPoint num="5" id="2980" />
+<TGConnectingPoint num="6" id="2981" />
+<TGConnectingPoint num="7" id="2982" />
+<TGConnectingPoint num="8" id="2983" />
+<TGConnectingPoint num="9" id="2984" />
+<TGConnectingPoint num="10" id="2985" />
+<TGConnectingPoint num="11" id="2986" />
+<TGConnectingPoint num="12" id="2987" />
+<TGConnectingPoint num="13" id="2988" />
+<TGConnectingPoint num="14" id="2989" />
+<TGConnectingPoint num="15" id="2990" />
+<TGConnectingPoint num="16" id="2991" />
+<TGConnectingPoint num="17" id="2992" />
+<TGConnectingPoint num="18" id="2993" />
+<TGConnectingPoint num="19" id="2994" />
+<TGConnectingPoint num="20" id="2995" />
+<TGConnectingPoint num="21" id="2996" />
+<TGConnectingPoint num="22" id="2997" />
+<TGConnectingPoint num="23" id="2998" />
 <extraparam>
 <CryptoBlock value="false" />
 <Method value="$runBell()" />
@@ -5703,37 +5669,37 @@ or by a maintenance station
 <globalCode value="}" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="5000" id="3041" >
-<father id="3166" num="1" />
-<cdparam x="129" y="516" />
-<sizeparam width="256" height="162" minWidth="5" minHeight="2" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<SUBCOMPONENT type="5000" id="3024" >
+<father id="3149" num="1" />
+<cdparam x="126" y="514" />
+<sizeparam width="251" height="159" minWidth="1" minHeight="0" maxWidth="3125" maxHeight="3125" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="665" minY="0" maxY="250" />
+<cdrectangleparam minX="0" maxX="667" minY="0" maxY="250" />
 <infoparam name="Block0" value="ControlPanel" />
-<TGConnectingPoint num="0" id="3017" />
-<TGConnectingPoint num="1" id="3018" />
-<TGConnectingPoint num="2" id="3019" />
-<TGConnectingPoint num="3" id="3020" />
-<TGConnectingPoint num="4" id="3021" />
-<TGConnectingPoint num="5" id="3022" />
-<TGConnectingPoint num="6" id="3023" />
-<TGConnectingPoint num="7" id="3024" />
-<TGConnectingPoint num="8" id="3025" />
-<TGConnectingPoint num="9" id="3026" />
-<TGConnectingPoint num="10" id="3027" />
-<TGConnectingPoint num="11" id="3028" />
-<TGConnectingPoint num="12" id="3029" />
-<TGConnectingPoint num="13" id="3030" />
-<TGConnectingPoint num="14" id="3031" />
-<TGConnectingPoint num="15" id="3032" />
-<TGConnectingPoint num="16" id="3033" />
-<TGConnectingPoint num="17" id="3034" />
-<TGConnectingPoint num="18" id="3035" />
-<TGConnectingPoint num="19" id="3036" />
-<TGConnectingPoint num="20" id="3037" />
-<TGConnectingPoint num="21" id="3038" />
-<TGConnectingPoint num="22" id="3039" />
-<TGConnectingPoint num="23" id="3040" />
+<TGConnectingPoint num="0" id="3000" />
+<TGConnectingPoint num="1" id="3001" />
+<TGConnectingPoint num="2" id="3002" />
+<TGConnectingPoint num="3" id="3003" />
+<TGConnectingPoint num="4" id="3004" />
+<TGConnectingPoint num="5" id="3005" />
+<TGConnectingPoint num="6" id="3006" />
+<TGConnectingPoint num="7" id="3007" />
+<TGConnectingPoint num="8" id="3008" />
+<TGConnectingPoint num="9" id="3009" />
+<TGConnectingPoint num="10" id="3010" />
+<TGConnectingPoint num="11" id="3011" />
+<TGConnectingPoint num="12" id="3012" />
+<TGConnectingPoint num="13" id="3013" />
+<TGConnectingPoint num="14" id="3014" />
+<TGConnectingPoint num="15" id="3015" />
+<TGConnectingPoint num="16" id="3016" />
+<TGConnectingPoint num="17" id="3017" />
+<TGConnectingPoint num="18" id="3018" />
+<TGConnectingPoint num="19" id="3019" />
+<TGConnectingPoint num="20" id="3020" />
+<TGConnectingPoint num="21" id="3021" />
+<TGConnectingPoint num="22" id="3022" />
+<TGConnectingPoint num="23" id="3023" />
 <extraparam>
 <CryptoBlock value="false" />
 <Attribute access="0" id="duration" value="9" type="8" typeOther="" />
@@ -5742,37 +5708,37 @@ or by a maintenance station
 <Signal value="out startButton(int duration)" attached="true" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="5000" id="3066" >
-<father id="3166" num="2" />
-<cdparam x="418" y="627" />
-<sizeparam width="328" height="167" minWidth="5" minHeight="2" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<SUBCOMPONENT type="5000" id="3049" >
+<father id="3149" num="2" />
+<cdparam x="415" y="625" />
+<sizeparam width="325" height="164" minWidth="1" minHeight="0" maxWidth="3125" maxHeight="3125" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="0" maxX="593" minY="0" maxY="245" />
 <infoparam name="Block0" value="Controller" />
-<TGConnectingPoint num="0" id="3042" />
-<TGConnectingPoint num="1" id="3043" />
-<TGConnectingPoint num="2" id="3044" />
-<TGConnectingPoint num="3" id="3045" />
-<TGConnectingPoint num="4" id="3046" />
-<TGConnectingPoint num="5" id="3047" />
-<TGConnectingPoint num="6" id="3048" />
-<TGConnectingPoint num="7" id="3049" />
-<TGConnectingPoint num="8" id="3050" />
-<TGConnectingPoint num="9" id="3051" />
-<TGConnectingPoint num="10" id="3052" />
-<TGConnectingPoint num="11" id="3053" />
-<TGConnectingPoint num="12" id="3054" />
-<TGConnectingPoint num="13" id="3055" />
-<TGConnectingPoint num="14" id="3056" />
-<TGConnectingPoint num="15" id="3057" />
-<TGConnectingPoint num="16" id="3058" />
-<TGConnectingPoint num="17" id="3059" />
-<TGConnectingPoint num="18" id="3060" />
-<TGConnectingPoint num="19" id="3061" />
-<TGConnectingPoint num="20" id="3062" />
-<TGConnectingPoint num="21" id="3063" />
-<TGConnectingPoint num="22" id="3064" />
-<TGConnectingPoint num="23" id="3065" />
+<TGConnectingPoint num="0" id="3025" />
+<TGConnectingPoint num="1" id="3026" />
+<TGConnectingPoint num="2" id="3027" />
+<TGConnectingPoint num="3" id="3028" />
+<TGConnectingPoint num="4" id="3029" />
+<TGConnectingPoint num="5" id="3030" />
+<TGConnectingPoint num="6" id="3031" />
+<TGConnectingPoint num="7" id="3032" />
+<TGConnectingPoint num="8" id="3033" />
+<TGConnectingPoint num="9" id="3034" />
+<TGConnectingPoint num="10" id="3035" />
+<TGConnectingPoint num="11" id="3036" />
+<TGConnectingPoint num="12" id="3037" />
+<TGConnectingPoint num="13" id="3038" />
+<TGConnectingPoint num="14" id="3039" />
+<TGConnectingPoint num="15" id="3040" />
+<TGConnectingPoint num="16" id="3041" />
+<TGConnectingPoint num="17" id="3042" />
+<TGConnectingPoint num="18" id="3043" />
+<TGConnectingPoint num="19" id="3044" />
+<TGConnectingPoint num="20" id="3045" />
+<TGConnectingPoint num="21" id="3046" />
+<TGConnectingPoint num="22" id="3047" />
+<TGConnectingPoint num="23" id="3048" />
 <extraparam>
 <CryptoBlock value="false" />
 <Attribute access="0" id="duration" value="5" type="8" typeOther="" />
@@ -5820,37 +5786,37 @@ or by a maintenance station
 <globalCode value="}" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="5000" id="3091" >
-<father id="3166" num="3" />
-<cdparam x="777" y="458" />
-<sizeparam width="253" height="160" minWidth="5" minHeight="2" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<SUBCOMPONENT type="5000" id="3074" >
+<father id="3149" num="3" />
+<cdparam x="775" y="454" />
+<sizeparam width="250" height="157" minWidth="1" minHeight="0" maxWidth="3125" maxHeight="3125" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="0" maxX="668" minY="0" maxY="252" />
 <infoparam name="Block0" value="Magnetron" />
-<TGConnectingPoint num="0" id="3067" />
-<TGConnectingPoint num="1" id="3068" />
-<TGConnectingPoint num="2" id="3069" />
-<TGConnectingPoint num="3" id="3070" />
-<TGConnectingPoint num="4" id="3071" />
-<TGConnectingPoint num="5" id="3072" />
-<TGConnectingPoint num="6" id="3073" />
-<TGConnectingPoint num="7" id="3074" />
-<TGConnectingPoint num="8" id="3075" />
-<TGConnectingPoint num="9" id="3076" />
-<TGConnectingPoint num="10" id="3077" />
-<TGConnectingPoint num="11" id="3078" />
-<TGConnectingPoint num="12" id="3079" />
-<TGConnectingPoint num="13" id="3080" />
-<TGConnectingPoint num="14" id="3081" />
-<TGConnectingPoint num="15" id="3082" />
-<TGConnectingPoint num="16" id="3083" />
-<TGConnectingPoint num="17" id="3084" />
-<TGConnectingPoint num="18" id="3085" />
-<TGConnectingPoint num="19" id="3086" />
-<TGConnectingPoint num="20" id="3087" />
-<TGConnectingPoint num="21" id="3088" />
-<TGConnectingPoint num="22" id="3089" />
-<TGConnectingPoint num="23" id="3090" />
+<TGConnectingPoint num="0" id="3050" />
+<TGConnectingPoint num="1" id="3051" />
+<TGConnectingPoint num="2" id="3052" />
+<TGConnectingPoint num="3" id="3053" />
+<TGConnectingPoint num="4" id="3054" />
+<TGConnectingPoint num="5" id="3055" />
+<TGConnectingPoint num="6" id="3056" />
+<TGConnectingPoint num="7" id="3057" />
+<TGConnectingPoint num="8" id="3058" />
+<TGConnectingPoint num="9" id="3059" />
+<TGConnectingPoint num="10" id="3060" />
+<TGConnectingPoint num="11" id="3061" />
+<TGConnectingPoint num="12" id="3062" />
+<TGConnectingPoint num="13" id="3063" />
+<TGConnectingPoint num="14" id="3064" />
+<TGConnectingPoint num="15" id="3065" />
+<TGConnectingPoint num="16" id="3066" />
+<TGConnectingPoint num="17" id="3067" />
+<TGConnectingPoint num="18" id="3068" />
+<TGConnectingPoint num="19" id="3069" />
+<TGConnectingPoint num="20" id="3070" />
+<TGConnectingPoint num="21" id="3071" />
+<TGConnectingPoint num="22" id="3072" />
+<TGConnectingPoint num="23" id="3073" />
 <extraparam>
 <CryptoBlock value="false" />
 <Attribute access="0" id="power" value="0" type="8" typeOther="" />
@@ -5870,37 +5836,37 @@ or by a maintenance station
 <globalCode value="}" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="5000" id="3116" >
-<father id="3166" num="4" />
-<cdparam x="792" y="672" />
-<sizeparam width="215" height="126" minWidth="5" minHeight="2" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<SUBCOMPONENT type="5000" id="3099" >
+<father id="3149" num="4" />
+<cdparam x="789" y="668" />
+<sizeparam width="212" height="125" minWidth="1" minHeight="0" maxWidth="3125" maxHeight="3125" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="706" minY="0" maxY="286" />
+<cdrectangleparam minX="0" maxX="706" minY="0" maxY="284" />
 <infoparam name="Block0" value="Door" />
-<TGConnectingPoint num="0" id="3092" />
-<TGConnectingPoint num="1" id="3093" />
-<TGConnectingPoint num="2" id="3094" />
-<TGConnectingPoint num="3" id="3095" />
-<TGConnectingPoint num="4" id="3096" />
-<TGConnectingPoint num="5" id="3097" />
-<TGConnectingPoint num="6" id="3098" />
-<TGConnectingPoint num="7" id="3099" />
-<TGConnectingPoint num="8" id="3100" />
-<TGConnectingPoint num="9" id="3101" />
-<TGConnectingPoint num="10" id="3102" />
-<TGConnectingPoint num="11" id="3103" />
-<TGConnectingPoint num="12" id="3104" />
-<TGConnectingPoint num="13" id="3105" />
-<TGConnectingPoint num="14" id="3106" />
-<TGConnectingPoint num="15" id="3107" />
-<TGConnectingPoint num="16" id="3108" />
-<TGConnectingPoint num="17" id="3109" />
-<TGConnectingPoint num="18" id="3110" />
-<TGConnectingPoint num="19" id="3111" />
-<TGConnectingPoint num="20" id="3112" />
-<TGConnectingPoint num="21" id="3113" />
-<TGConnectingPoint num="22" id="3114" />
-<TGConnectingPoint num="23" id="3115" />
+<TGConnectingPoint num="0" id="3075" />
+<TGConnectingPoint num="1" id="3076" />
+<TGConnectingPoint num="2" id="3077" />
+<TGConnectingPoint num="3" id="3078" />
+<TGConnectingPoint num="4" id="3079" />
+<TGConnectingPoint num="5" id="3080" />
+<TGConnectingPoint num="6" id="3081" />
+<TGConnectingPoint num="7" id="3082" />
+<TGConnectingPoint num="8" id="3083" />
+<TGConnectingPoint num="9" id="3084" />
+<TGConnectingPoint num="10" id="3085" />
+<TGConnectingPoint num="11" id="3086" />
+<TGConnectingPoint num="12" id="3087" />
+<TGConnectingPoint num="13" id="3088" />
+<TGConnectingPoint num="14" id="3089" />
+<TGConnectingPoint num="15" id="3090" />
+<TGConnectingPoint num="16" id="3091" />
+<TGConnectingPoint num="17" id="3092" />
+<TGConnectingPoint num="18" id="3093" />
+<TGConnectingPoint num="19" id="3094" />
+<TGConnectingPoint num="20" id="3095" />
+<TGConnectingPoint num="21" id="3096" />
+<TGConnectingPoint num="22" id="3097" />
+<TGConnectingPoint num="23" id="3098" />
 <extraparam>
 <CryptoBlock value="false" />
 <Method value="$openM()" />
@@ -5922,37 +5888,37 @@ or by a maintenance station
 <globalCode value="}" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="5000" id="3141" >
-<father id="3166" num="5" />
-<cdparam x="411" y="458" />
-<sizeparam width="334" height="154" minWidth="5" minHeight="2" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<SUBCOMPONENT type="5000" id="3124" >
+<father id="3149" num="5" />
+<cdparam x="409" y="454" />
+<sizeparam width="329" height="151" minWidth="1" minHeight="0" maxWidth="3125" maxHeight="3125" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="587" minY="0" maxY="258" />
+<cdrectangleparam minX="0" maxX="589" minY="0" maxY="258" />
 <infoparam name="Block0" value="WirelessInterface" />
-<TGConnectingPoint num="0" id="3117" />
-<TGConnectingPoint num="1" id="3118" />
-<TGConnectingPoint num="2" id="3119" />
-<TGConnectingPoint num="3" id="3120" />
-<TGConnectingPoint num="4" id="3121" />
-<TGConnectingPoint num="5" id="3122" />
-<TGConnectingPoint num="6" id="3123" />
-<TGConnectingPoint num="7" id="3124" />
-<TGConnectingPoint num="8" id="3125" />
-<TGConnectingPoint num="9" id="3126" />
-<TGConnectingPoint num="10" id="3127" />
-<TGConnectingPoint num="11" id="3128" />
-<TGConnectingPoint num="12" id="3129" />
-<TGConnectingPoint num="13" id="3130" />
-<TGConnectingPoint num="14" id="3131" />
-<TGConnectingPoint num="15" id="3132" />
-<TGConnectingPoint num="16" id="3133" />
-<TGConnectingPoint num="17" id="3134" />
-<TGConnectingPoint num="18" id="3135" />
-<TGConnectingPoint num="19" id="3136" />
-<TGConnectingPoint num="20" id="3137" />
-<TGConnectingPoint num="21" id="3138" />
-<TGConnectingPoint num="22" id="3139" />
-<TGConnectingPoint num="23" id="3140" />
+<TGConnectingPoint num="0" id="3100" />
+<TGConnectingPoint num="1" id="3101" />
+<TGConnectingPoint num="2" id="3102" />
+<TGConnectingPoint num="3" id="3103" />
+<TGConnectingPoint num="4" id="3104" />
+<TGConnectingPoint num="5" id="3105" />
+<TGConnectingPoint num="6" id="3106" />
+<TGConnectingPoint num="7" id="3107" />
+<TGConnectingPoint num="8" id="3108" />
+<TGConnectingPoint num="9" id="3109" />
+<TGConnectingPoint num="10" id="3110" />
+<TGConnectingPoint num="11" id="3111" />
+<TGConnectingPoint num="12" id="3112" />
+<TGConnectingPoint num="13" id="3113" />
+<TGConnectingPoint num="14" id="3114" />
+<TGConnectingPoint num="15" id="3115" />
+<TGConnectingPoint num="16" id="3116" />
+<TGConnectingPoint num="17" id="3117" />
+<TGConnectingPoint num="18" id="3118" />
+<TGConnectingPoint num="19" id="3119" />
+<TGConnectingPoint num="20" id="3120" />
+<TGConnectingPoint num="21" id="3121" />
+<TGConnectingPoint num="22" id="3122" />
+<TGConnectingPoint num="23" id="3123" />
 <extraparam>
 <CryptoBlock value="true" />
 <Attribute access="0" id="msg2" value="" type="5" typeOther="Message" />
@@ -5985,6 +5951,40 @@ or by a maintenance station
 </extraparam>
 </SUBCOMPONENT>
 
+<COMPONENT type="302" id="3191" >
+<cdparam x="190" y="25" />
+<sizeparam width="668" height="97" minWidth="76" minHeight="7" maxWidth="3125" maxHeight="3125" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="6" maxX="369" minY="6" maxY="369" />
+<infoparam name="Proverif Pragma" value="#InitialSystemKnowledge RemoteControl.PSK WirelessInterface.PSK
+#Authenticity RemoteControl.SendingRemoteOrder.msg WirelessInterface.gotDecryptedOrder.msg2
+
+#Confidentiality RemoteControl.duration
+" />
+<TGConnectingPoint num="0" id="3175" />
+<TGConnectingPoint num="1" id="3176" />
+<TGConnectingPoint num="2" id="3177" />
+<TGConnectingPoint num="3" id="3178" />
+<TGConnectingPoint num="4" id="3179" />
+<TGConnectingPoint num="5" id="3180" />
+<TGConnectingPoint num="6" id="3181" />
+<TGConnectingPoint num="7" id="3182" />
+<TGConnectingPoint num="8" id="3183" />
+<TGConnectingPoint num="9" id="3184" />
+<TGConnectingPoint num="10" id="3185" />
+<TGConnectingPoint num="11" id="3186" />
+<TGConnectingPoint num="12" id="3187" />
+<TGConnectingPoint num="13" id="3188" />
+<TGConnectingPoint num="14" id="3189" />
+<TGConnectingPoint num="15" id="3190" />
+<extraparam>
+<Line value="#InitialSystemKnowledge RemoteControl.PSK WirelessInterface.PSK" />
+<Line value="#Authenticity RemoteControl.SendingRemoteOrder.msg WirelessInterface.gotDecryptedOrder.msg2" />
+<Line value="" />
+<Line value="#Confidentiality RemoteControl.duration" />
+</extraparam>
+</COMPONENT>
+
 
 </AVATARBlockDiagramPanel>
 
@@ -6014,6 +6014,7 @@ or by a maintenance station
 <afterMax value="" />
 <computeMin value="" />
 <computeMax value="" />
+<probability value="" />
 </extraparam>
 </SUBCOMPONENT>
 
@@ -6042,6 +6043,7 @@ or by a maintenance station
 <afterMax value="" />
 <computeMin value="" />
 <computeMax value="" />
+<probability value="" />
 </extraparam>
 </SUBCOMPONENT>
 
@@ -6100,6 +6102,7 @@ or by a maintenance station
 <afterMax value="" />
 <computeMin value="" />
 <computeMax value="" />
+<probability value="" />
 </extraparam>
 </SUBCOMPONENT>
 
@@ -6128,6 +6131,7 @@ or by a maintenance station
 <afterMax value="" />
 <computeMin value="" />
 <computeMax value="" />
+<probability value="" />
 </extraparam>
 </SUBCOMPONENT>
 
@@ -6196,6 +6200,7 @@ or by a maintenance station
 <afterMax value="" />
 <computeMin value="" />
 <computeMax value="" />
+<probability value="" />
 </extraparam>
 </SUBCOMPONENT>
 
@@ -6224,6 +6229,7 @@ or by a maintenance station
 <afterMax value="" />
 <computeMin value="" />
 <computeMax value="" />
+<probability value="" />
 </extraparam>
 </SUBCOMPONENT>
 
@@ -6252,6 +6258,7 @@ or by a maintenance station
 <afterMax value="" />
 <computeMin value="" />
 <computeMax value="" />
+<probability value="" />
 </extraparam>
 </SUBCOMPONENT>
 
@@ -6280,6 +6287,7 @@ or by a maintenance station
 <afterMax value="" />
 <computeMin value="" />
 <computeMax value="" />
+<probability value="" />
 </extraparam>
 </SUBCOMPONENT>
 
@@ -6308,6 +6316,7 @@ or by a maintenance station
 <afterMax value="" />
 <computeMin value="" />
 <computeMax value="" />
+<probability value="" />
 </extraparam>
 </SUBCOMPONENT>
 
@@ -6573,6 +6582,7 @@ or by a maintenance station
 <afterMax value="" />
 <computeMin value="" />
 <computeMax value="" />
+<probability value="" />
 </extraparam>
 </SUBCOMPONENT>
 
@@ -6623,6 +6633,7 @@ or by a maintenance station
 <afterMax value="" />
 <computeMin value="" />
 <computeMax value="" />
+<probability value="" />
 </extraparam>
 </SUBCOMPONENT>
 
@@ -6651,6 +6662,7 @@ or by a maintenance station
 <afterMax value="" />
 <computeMin value="" />
 <computeMax value="" />
+<probability value="" />
 </extraparam>
 </SUBCOMPONENT>
 
@@ -6679,6 +6691,7 @@ or by a maintenance station
 <afterMax value="" />
 <computeMin value="" />
 <computeMax value="" />
+<probability value="" />
 </extraparam>
 </SUBCOMPONENT>
 
@@ -6829,6 +6842,7 @@ or by a maintenance station
 <afterMax value="" />
 <computeMin value="" />
 <computeMax value="" />
+<probability value="" />
 </extraparam>
 </SUBCOMPONENT>
 
@@ -6857,6 +6871,7 @@ or by a maintenance station
 <afterMax value="" />
 <computeMin value="" />
 <computeMax value="" />
+<probability value="" />
 </extraparam>
 </SUBCOMPONENT>
 
@@ -6885,6 +6900,7 @@ or by a maintenance station
 <afterMax value="" />
 <computeMin value="" />
 <computeMax value="" />
+<probability value="" />
 <actions value="msg3 = sdecrypt(msg2, PSK)" />
 <actions value="selectedDuration = msg3.data" />
 </extraparam>
@@ -6915,6 +6931,7 @@ or by a maintenance station
 <afterMax value="" />
 <computeMin value="" />
 <computeMax value="" />
+<probability value="" />
 </extraparam>
 </SUBCOMPONENT>
 
@@ -6943,6 +6960,7 @@ or by a maintenance station
 <afterMax value="" />
 <computeMin value="" />
 <computeMax value="" />
+<probability value="" />
 </extraparam>
 </SUBCOMPONENT>
 
@@ -7130,6 +7148,7 @@ or by a maintenance station
 <afterMax value="" />
 <computeMin value="" />
 <computeMax value="" />
+<probability value="" />
 <actions value="openM()" />
 </extraparam>
 </SUBCOMPONENT>
@@ -7159,6 +7178,7 @@ or by a maintenance station
 <afterMax value="3" />
 <computeMin value="" />
 <computeMax value="" />
+<probability value="" />
 </extraparam>
 </SUBCOMPONENT>
 
@@ -7217,6 +7237,7 @@ or by a maintenance station
 <afterMax value="" />
 <computeMin value="" />
 <computeMax value="" />
+<probability value="" />
 <actions value="closeM()" />
 </extraparam>
 </SUBCOMPONENT>
@@ -7246,6 +7267,7 @@ or by a maintenance station
 <afterMax value="3" />
 <computeMin value="" />
 <computeMax value="" />
+<probability value="" />
 </extraparam>
 </SUBCOMPONENT>
 
@@ -7274,6 +7296,7 @@ or by a maintenance station
 <afterMax value="" />
 <computeMin value="" />
 <computeMax value="" />
+<probability value="" />
 </extraparam>
 </SUBCOMPONENT>
 
@@ -7485,6 +7508,7 @@ or by a maintenance station
 <afterMax value="" />
 <computeMin value="" />
 <computeMax value="" />
+<probability value="" />
 <actions value="OFF()" />
 </extraparam>
 </SUBCOMPONENT>
@@ -7514,6 +7538,7 @@ or by a maintenance station
 <afterMax value="" />
 <computeMin value="" />
 <computeMax value="" />
+<probability value="" />
 </extraparam>
 </SUBCOMPONENT>
 
@@ -7542,6 +7567,7 @@ or by a maintenance station
 <afterMax value="" />
 <computeMin value="" />
 <computeMax value="" />
+<probability value="" />
 <actions value="ON()" />
 </extraparam>
 </SUBCOMPONENT>
@@ -7571,6 +7597,7 @@ or by a maintenance station
 <afterMax value="" />
 <computeMin value="" />
 <computeMax value="" />
+<probability value="" />
 </extraparam>
 </SUBCOMPONENT>
 
@@ -7599,6 +7626,7 @@ or by a maintenance station
 <afterMax value="" />
 <computeMin value="" />
 <computeMax value="" />
+<probability value="" />
 </extraparam>
 </SUBCOMPONENT>
 
@@ -7778,6 +7806,7 @@ or by a maintenance station
 <afterMax value="" />
 <computeMin value="" />
 <computeMax value="" />
+<probability value="" />
 </extraparam>
 </SUBCOMPONENT>
 
@@ -7806,6 +7835,7 @@ or by a maintenance station
 <afterMax value="" />
 <computeMin value="" />
 <computeMax value="" />
+<probability value="" />
 </extraparam>
 </SUBCOMPONENT>
 
@@ -7834,6 +7864,7 @@ or by a maintenance station
 <afterMax value="" />
 <computeMin value="" />
 <computeMax value="" />
+<probability value="" />
 </extraparam>
 </SUBCOMPONENT>
 
@@ -7862,6 +7893,7 @@ or by a maintenance station
 <afterMax value="" />
 <computeMin value="" />
 <computeMax value="" />
+<probability value="" />
 </extraparam>
 </SUBCOMPONENT>
 
@@ -7890,6 +7922,7 @@ or by a maintenance station
 <afterMax value="" />
 <computeMin value="" />
 <computeMax value="" />
+<probability value="" />
 </extraparam>
 </SUBCOMPONENT>
 
@@ -7918,6 +7951,7 @@ or by a maintenance station
 <afterMax value="" />
 <computeMin value="" />
 <computeMax value="" />
+<probability value="" />
 </extraparam>
 </SUBCOMPONENT>
 
@@ -7946,6 +7980,7 @@ or by a maintenance station
 <afterMax value="" />
 <computeMin value="" />
 <computeMax value="" />
+<probability value="" />
 </extraparam>
 </SUBCOMPONENT>
 
@@ -7974,6 +8009,7 @@ or by a maintenance station
 <afterMax value="" />
 <computeMin value="" />
 <computeMax value="" />
+<probability value="" />
 </extraparam>
 </SUBCOMPONENT>
 
@@ -8002,6 +8038,7 @@ or by a maintenance station
 <afterMax value="" />
 <computeMin value="" />
 <computeMax value="" />
+<probability value="" />
 </extraparam>
 </SUBCOMPONENT>
 
@@ -8030,6 +8067,7 @@ or by a maintenance station
 <afterMax value="" />
 <computeMin value="" />
 <computeMax value="" />
+<probability value="" />
 </extraparam>
 </SUBCOMPONENT>
 
@@ -8058,6 +8096,7 @@ or by a maintenance station
 <afterMax value="" />
 <computeMin value="" />
 <computeMax value="" />
+<probability value="" />
 </extraparam>
 </SUBCOMPONENT>
 
@@ -8086,6 +8125,7 @@ or by a maintenance station
 <afterMax value="" />
 <computeMin value="" />
 <computeMax value="" />
+<probability value="" />
 </extraparam>
 </SUBCOMPONENT>
 
@@ -8114,6 +8154,7 @@ or by a maintenance station
 <afterMax value="" />
 <computeMin value="" />
 <computeMax value="" />
+<probability value="" />
 </extraparam>
 </SUBCOMPONENT>
 
@@ -8142,6 +8183,7 @@ or by a maintenance station
 <afterMax value="" />
 <computeMin value="" />
 <computeMax value="" />
+<probability value="" />
 </extraparam>
 </SUBCOMPONENT>
 
@@ -8200,6 +8242,7 @@ or by a maintenance station
 <afterMax value="" />
 <computeMin value="" />
 <computeMax value="" />
+<probability value="" />
 </extraparam>
 </SUBCOMPONENT>
 
@@ -8228,6 +8271,7 @@ or by a maintenance station
 <afterMax value="" />
 <computeMin value="" />
 <computeMax value="" />
+<probability value="" />
 </extraparam>
 </SUBCOMPONENT>
 
@@ -8256,6 +8300,7 @@ or by a maintenance station
 <afterMax value="" />
 <computeMin value="" />
 <computeMax value="" />
+<probability value="" />
 </extraparam>
 </SUBCOMPONENT>
 
@@ -8314,6 +8359,7 @@ or by a maintenance station
 <afterMax value="1" />
 <computeMin value="" />
 <computeMax value="" />
+<probability value="" />
 <actions value="remainingTime= remainingTime -1" />
 <actions value="durationModified(remainingTime)" />
 </extraparam>
@@ -8344,6 +8390,7 @@ or by a maintenance station
 <afterMax value="1" />
 <computeMin value="" />
 <computeMax value="" />
+<probability value="" />
 <actions value="remainingTime=remainingTime -1" />
 <actions value="durationModified(remainingTime)" />
 </extraparam>
@@ -8374,6 +8421,7 @@ or by a maintenance station
 <afterMax value="" />
 <computeMin value="" />
 <computeMax value="" />
+<probability value="" />
 </extraparam>
 </SUBCOMPONENT>
 
@@ -8402,6 +8450,7 @@ or by a maintenance station
 <afterMax value="" />
 <computeMin value="" />
 <computeMax value="" />
+<probability value="" />
 <actions value="remainingTime=duration" />
 <actions value="startCooking(remainingTime)" />
 </extraparam>
@@ -8472,6 +8521,7 @@ or by a maintenance station
 <afterMax value="9" />
 <computeMin value="" />
 <computeMax value="" />
+<probability value="" />
 </extraparam>
 </SUBCOMPONENT>
 
@@ -8500,6 +8550,7 @@ or by a maintenance station
 <afterMax value="" />
 <computeMin value="" />
 <computeMax value="" />
+<probability value="" />
 </extraparam>
 </SUBCOMPONENT>
 
@@ -8528,6 +8579,7 @@ or by a maintenance station
 <afterMax value="" />
 <computeMin value="" />
 <computeMax value="" />
+<probability value="" />
 </extraparam>
 </SUBCOMPONENT>
 
@@ -8556,6 +8608,7 @@ or by a maintenance station
 <afterMax value="" />
 <computeMin value="" />
 <computeMax value="" />
+<probability value="" />
 </extraparam>
 </SUBCOMPONENT>
 
@@ -8584,6 +8637,7 @@ or by a maintenance station
 <afterMax value="" />
 <computeMin value="" />
 <computeMax value="" />
+<probability value="" />
 </extraparam>
 </SUBCOMPONENT>
 
@@ -8612,6 +8666,7 @@ or by a maintenance station
 <afterMax value="" />
 <computeMin value="" />
 <computeMax value="" />
+<probability value="" />
 </extraparam>
 </SUBCOMPONENT>
 
@@ -9294,6 +9349,7 @@ or by a maintenance station
 <afterMax value="" />
 <computeMin value="" />
 <computeMax value="" />
+<probability value="" />
 </extraparam>
 </SUBCOMPONENT>
 
@@ -9332,6 +9388,7 @@ or by a maintenance station
 <afterMax value="" />
 <computeMin value="" />
 <computeMax value="" />
+<probability value="" />
 </extraparam>
 </SUBCOMPONENT>
 
@@ -9360,6 +9417,7 @@ or by a maintenance station
 <afterMax value="" />
 <computeMin value="" />
 <computeMax value="" />
+<probability value="" />
 </extraparam>
 </SUBCOMPONENT>
 
@@ -9469,6 +9527,7 @@ or by a maintenance station
 <afterMax value="" />
 <computeMin value="" />
 <computeMax value="" />
+<probability value="" />
 <actions value="runBell()" />
 </extraparam>
 </SUBCOMPONENT>
@@ -9528,6 +9587,7 @@ or by a maintenance station
 <afterMax value="" />
 <computeMin value="" />
 <computeMax value="" />
+<probability value="" />
 </extraparam>
 </SUBCOMPONENT>
 
@@ -9556,6 +9616,7 @@ or by a maintenance station
 <afterMax value="" />
 <computeMin value="" />
 <computeMax value="" />
+<probability value="" />
 </extraparam>
 </SUBCOMPONENT>
 
@@ -9584,6 +9645,7 @@ or by a maintenance station
 <afterMax value="" />
 <computeMin value="" />
 <computeMax value="" />
+<probability value="" />
 </extraparam>
 </SUBCOMPONENT>
 
@@ -9753,6 +9815,7 @@ or by a maintenance station
 <afterMax value="" />
 <computeMin value="" />
 <computeMax value="" />
+<probability value="" />
 <actions value="msg1.data = duration" />
 <actions value="msg = sencrypt(msg1, PSK)" />
 </extraparam>
@@ -9783,6 +9846,7 @@ or by a maintenance station
 <afterMax value="" />
 <computeMin value="" />
 <computeMax value="" />
+<probability value="" />
 </extraparam>
 </SUBCOMPONENT>
 
@@ -9811,6 +9875,7 @@ or by a maintenance station
 <afterMax value="" />
 <computeMin value="" />
 <computeMax value="" />
+<probability value="" />
 </extraparam>
 </SUBCOMPONENT>
 
@@ -9839,6 +9904,7 @@ or by a maintenance station
 <afterMax value="" />
 <computeMin value="" />
 <computeMax value="" />
+<probability value="" />
 </extraparam>
 </SUBCOMPONENT>
 
@@ -10015,7 +10081,7 @@ or by a maintenance station
 
 
 <Modeling type="AVATAR Design" nameTab="DesignCodeGeneration" >
-<AVATARBlockDiagramPanel name="Block Diagram" minX="10" maxX="1400" minY="10" maxY="1400" >
+<AVATARBlockDiagramPanel name="Block Diagram" minX="10" maxX="1400" minY="10" maxY="1400" zoom="1.0" >
 <MainCode value="#include &lt;sys/types.h&gt;"/>
 <MainCode value="#include &lt;sys/socket.h&gt;"/>
 <MainCode value="#include &lt;netinet/in.h&gt;"/>
@@ -10109,7 +10175,7 @@ or by a maintenance station
 <MainCode value=""/>
 <MainCode value="}"/>
 <Optimized value="true" />
-<Validated value="ObserverProp1;RemotelyControlledMicrowave;MicroWaveOven;Door;Magnetron;Controller;ControlPanel;Bell;" />
+<Validated value="" />
 <Ignored value="" />
 
 <CONNECTOR type="5002" id="4993" >
@@ -10614,6 +10680,7 @@ or by a maintenance station
 <afterMax value="" />
 <computeMin value="" />
 <computeMax value="" />
+<probability value="" />
 </extraparam>
 </SUBCOMPONENT>
 
@@ -10642,6 +10709,7 @@ or by a maintenance station
 <afterMax value="" />
 <computeMin value="" />
 <computeMax value="" />
+<probability value="" />
 </extraparam>
 </SUBCOMPONENT>
 
@@ -10700,6 +10768,7 @@ or by a maintenance station
 <afterMax value="" />
 <computeMin value="" />
 <computeMax value="" />
+<probability value="" />
 </extraparam>
 </SUBCOMPONENT>
 
@@ -10728,6 +10797,7 @@ or by a maintenance station
 <afterMax value="" />
 <computeMin value="" />
 <computeMax value="" />
+<probability value="" />
 </extraparam>
 </SUBCOMPONENT>
 
@@ -10796,6 +10866,7 @@ or by a maintenance station
 <afterMax value="" />
 <computeMin value="" />
 <computeMax value="" />
+<probability value="" />
 </extraparam>
 </SUBCOMPONENT>
 
@@ -10824,6 +10895,7 @@ or by a maintenance station
 <afterMax value="" />
 <computeMin value="" />
 <computeMax value="" />
+<probability value="" />
 </extraparam>
 </SUBCOMPONENT>
 
@@ -10852,6 +10924,7 @@ or by a maintenance station
 <afterMax value="" />
 <computeMin value="" />
 <computeMax value="" />
+<probability value="" />
 </extraparam>
 </SUBCOMPONENT>
 
@@ -10880,6 +10953,7 @@ or by a maintenance station
 <afterMax value="" />
 <computeMin value="" />
 <computeMax value="" />
+<probability value="" />
 </extraparam>
 </SUBCOMPONENT>
 
@@ -10908,6 +10982,7 @@ or by a maintenance station
 <afterMax value="" />
 <computeMin value="" />
 <computeMax value="" />
+<probability value="" />
 </extraparam>
 </SUBCOMPONENT>
 
@@ -11172,6 +11247,7 @@ or by a maintenance station
 <afterMax value="" />
 <computeMin value="" />
 <computeMax value="" />
+<probability value="" />
 </extraparam>
 </SUBCOMPONENT>
 
@@ -11222,6 +11298,7 @@ or by a maintenance station
 <afterMax value="" />
 <computeMin value="" />
 <computeMax value="" />
+<probability value="" />
 </extraparam>
 </SUBCOMPONENT>
 
@@ -11313,6 +11390,7 @@ or by a maintenance station
 <afterMax value="3" />
 <computeMin value="" />
 <computeMax value="" />
+<probability value="" />
 </extraparam>
 </SUBCOMPONENT>
 
@@ -11371,6 +11449,7 @@ or by a maintenance station
 <afterMax value="" />
 <computeMin value="" />
 <computeMax value="" />
+<probability value="" />
 <actions value="closeM()" />
 </extraparam>
 </SUBCOMPONENT>
@@ -11400,6 +11479,7 @@ or by a maintenance station
 <afterMax value="" />
 <computeMin value="" />
 <computeMax value="" />
+<probability value="" />
 <actions value="openM()" />
 </extraparam>
 </SUBCOMPONENT>
@@ -11429,6 +11509,7 @@ or by a maintenance station
 <afterMax value="3" />
 <computeMin value="" />
 <computeMax value="" />
+<probability value="" />
 </extraparam>
 </SUBCOMPONENT>
 
@@ -11457,6 +11538,7 @@ or by a maintenance station
 <afterMax value="" />
 <computeMin value="" />
 <computeMax value="" />
+<probability value="" />
 </extraparam>
 </SUBCOMPONENT>
 
@@ -11485,6 +11567,7 @@ or by a maintenance station
 <afterMax value="" />
 <computeMin value="" />
 <computeMax value="" />
+<probability value="" />
 </extraparam>
 </SUBCOMPONENT>
 
@@ -11713,6 +11796,7 @@ or by a maintenance station
 <afterMax value="" />
 <computeMin value="" />
 <computeMax value="" />
+<probability value="" />
 <actions value="OFF()" />
 </extraparam>
 </SUBCOMPONENT>
@@ -11742,6 +11826,7 @@ or by a maintenance station
 <afterMax value="" />
 <computeMin value="" />
 <computeMax value="" />
+<probability value="" />
 </extraparam>
 </SUBCOMPONENT>
 
@@ -11770,6 +11855,7 @@ or by a maintenance station
 <afterMax value="" />
 <computeMin value="" />
 <computeMax value="" />
+<probability value="" />
 <actions value="ON()" />
 </extraparam>
 </SUBCOMPONENT>
@@ -11799,6 +11885,7 @@ or by a maintenance station
 <afterMax value="" />
 <computeMin value="" />
 <computeMax value="" />
+<probability value="" />
 </extraparam>
 </SUBCOMPONENT>
 
@@ -11827,6 +11914,7 @@ or by a maintenance station
 <afterMax value="" />
 <computeMin value="" />
 <computeMax value="" />
+<probability value="" />
 </extraparam>
 </SUBCOMPONENT>
 
@@ -12006,6 +12094,7 @@ or by a maintenance station
 <afterMax value="" />
 <computeMin value="" />
 <computeMax value="" />
+<probability value="" />
 </extraparam>
 </SUBCOMPONENT>
 
@@ -12034,6 +12123,7 @@ or by a maintenance station
 <afterMax value="" />
 <computeMin value="" />
 <computeMax value="" />
+<probability value="" />
 </extraparam>
 </SUBCOMPONENT>
 
@@ -12062,6 +12152,7 @@ or by a maintenance station
 <afterMax value="" />
 <computeMin value="" />
 <computeMax value="" />
+<probability value="" />
 </extraparam>
 </SUBCOMPONENT>
 
@@ -12090,6 +12181,7 @@ or by a maintenance station
 <afterMax value="" />
 <computeMin value="" />
 <computeMax value="" />
+<probability value="" />
 </extraparam>
 </SUBCOMPONENT>
 
@@ -12118,6 +12210,7 @@ or by a maintenance station
 <afterMax value="" />
 <computeMin value="" />
 <computeMax value="" />
+<probability value="" />
 </extraparam>
 </SUBCOMPONENT>
 
@@ -12146,6 +12239,7 @@ or by a maintenance station
 <afterMax value="" />
 <computeMin value="" />
 <computeMax value="" />
+<probability value="" />
 </extraparam>
 </SUBCOMPONENT>
 
@@ -12174,6 +12268,7 @@ or by a maintenance station
 <afterMax value="" />
 <computeMin value="" />
 <computeMax value="" />
+<probability value="" />
 </extraparam>
 </SUBCOMPONENT>
 
@@ -12202,6 +12297,7 @@ or by a maintenance station
 <afterMax value="" />
 <computeMin value="" />
 <computeMax value="" />
+<probability value="" />
 </extraparam>
 </SUBCOMPONENT>
 
@@ -12230,6 +12326,7 @@ or by a maintenance station
 <afterMax value="" />
 <computeMin value="" />
 <computeMax value="" />
+<probability value="" />
 </extraparam>
 </SUBCOMPONENT>
 
@@ -12258,6 +12355,7 @@ or by a maintenance station
 <afterMax value="" />
 <computeMin value="" />
 <computeMax value="" />
+<probability value="" />
 </extraparam>
 </SUBCOMPONENT>
 
@@ -12286,6 +12384,7 @@ or by a maintenance station
 <afterMax value="" />
 <computeMin value="" />
 <computeMax value="" />
+<probability value="" />
 </extraparam>
 </SUBCOMPONENT>
 
@@ -12314,6 +12413,7 @@ or by a maintenance station
 <afterMax value="" />
 <computeMin value="" />
 <computeMax value="" />
+<probability value="" />
 </extraparam>
 </SUBCOMPONENT>
 
@@ -12342,6 +12442,7 @@ or by a maintenance station
 <afterMax value="" />
 <computeMin value="" />
 <computeMax value="" />
+<probability value="" />
 </extraparam>
 </SUBCOMPONENT>
 
@@ -12400,6 +12501,7 @@ or by a maintenance station
 <afterMax value="" />
 <computeMin value="" />
 <computeMax value="" />
+<probability value="" />
 </extraparam>
 </SUBCOMPONENT>
 
@@ -12428,6 +12530,7 @@ or by a maintenance station
 <afterMax value="" />
 <computeMin value="" />
 <computeMax value="" />
+<probability value="" />
 </extraparam>
 </SUBCOMPONENT>
 
@@ -12456,6 +12559,7 @@ or by a maintenance station
 <afterMax value="" />
 <computeMin value="" />
 <computeMax value="" />
+<probability value="" />
 </extraparam>
 </SUBCOMPONENT>
 
@@ -12514,6 +12618,7 @@ or by a maintenance station
 <afterMax value="1" />
 <computeMin value="" />
 <computeMax value="" />
+<probability value="" />
 <actions value="remainingTime= remainingTime -1" />
 <actions value="durationModified(remainingTime)" />
 </extraparam>
@@ -12544,6 +12649,7 @@ or by a maintenance station
 <afterMax value="1" />
 <computeMin value="" />
 <computeMax value="" />
+<probability value="" />
 <actions value="remainingTime=remainingTime -1" />
 <actions value="durationModified(remainingTime)" />
 </extraparam>
@@ -12574,6 +12680,7 @@ or by a maintenance station
 <afterMax value="" />
 <computeMin value="" />
 <computeMax value="" />
+<probability value="" />
 </extraparam>
 </SUBCOMPONENT>
 
@@ -12602,6 +12709,7 @@ or by a maintenance station
 <afterMax value="" />
 <computeMin value="" />
 <computeMax value="" />
+<probability value="" />
 <actions value="remainingTime=duration" />
 <actions value="startCooking(remainingTime)" />
 </extraparam>
@@ -12672,6 +12780,7 @@ or by a maintenance station
 <afterMax value="9" />
 <computeMin value="" />
 <computeMax value="" />
+<probability value="" />
 </extraparam>
 </SUBCOMPONENT>
 
@@ -12700,6 +12809,7 @@ or by a maintenance station
 <afterMax value="" />
 <computeMin value="" />
 <computeMax value="" />
+<probability value="" />
 </extraparam>
 </SUBCOMPONENT>
 
@@ -12728,6 +12838,7 @@ or by a maintenance station
 <afterMax value="" />
 <computeMin value="" />
 <computeMax value="" />
+<probability value="" />
 </extraparam>
 </SUBCOMPONENT>
 
@@ -12756,6 +12867,7 @@ or by a maintenance station
 <afterMax value="" />
 <computeMin value="" />
 <computeMax value="" />
+<probability value="" />
 </extraparam>
 </SUBCOMPONENT>
 
@@ -12784,6 +12896,7 @@ or by a maintenance station
 <afterMax value="" />
 <computeMin value="" />
 <computeMax value="" />
+<probability value="" />
 </extraparam>
 </SUBCOMPONENT>
 
@@ -12812,6 +12925,7 @@ or by a maintenance station
 <afterMax value="" />
 <computeMin value="" />
 <computeMax value="" />
+<probability value="" />
 </extraparam>
 </SUBCOMPONENT>
 
@@ -13493,6 +13607,7 @@ or by a maintenance station
 <afterMax value="" />
 <computeMin value="" />
 <computeMax value="" />
+<probability value="" />
 </extraparam>
 </SUBCOMPONENT>
 
@@ -13531,6 +13646,7 @@ or by a maintenance station
 <afterMax value="" />
 <computeMin value="" />
 <computeMax value="" />
+<probability value="" />
 <actions value="start()" />
 </extraparam>
 </SUBCOMPONENT>
@@ -13560,6 +13676,7 @@ or by a maintenance station
 <afterMax value="" />
 <computeMin value="" />
 <computeMax value="" />
+<probability value="" />
 </extraparam>
 </SUBCOMPONENT>
 
@@ -13669,6 +13786,7 @@ or by a maintenance station
 <afterMax value="" />
 <computeMin value="" />
 <computeMax value="" />
+<probability value="" />
 <actions value="runBell()" />
 </extraparam>
 </SUBCOMPONENT>
@@ -13728,6 +13846,7 @@ or by a maintenance station
 <afterMax value="" />
 <computeMin value="" />
 <computeMax value="" />
+<probability value="" />
 </extraparam>
 </SUBCOMPONENT>
 
@@ -13756,6 +13875,7 @@ or by a maintenance station
 <afterMax value="" />
 <computeMin value="" />
 <computeMax value="" />
+<probability value="" />
 </extraparam>
 </SUBCOMPONENT>
 
@@ -13784,6 +13904,7 @@ or by a maintenance station
 <afterMax value="" />
 <computeMin value="" />
 <computeMax value="" />
+<probability value="" />
 </extraparam>
 </SUBCOMPONENT>
 
diff --git a/modeling/DIPLODOCUS/SmartCardProtocol.xml b/modeling/DIPLODOCUS/SmartCardProtocol.xml
index 66e90fdf8a7378806310d1959211cc4a5c838da1..3c4d8f113bf4da6d767c8ace8f98a7999ac759a8 100755
--- a/modeling/DIPLODOCUS/SmartCardProtocol.xml
+++ b/modeling/DIPLODOCUS/SmartCardProtocol.xml
@@ -3,13 +3,13 @@
 <TURTLEGMODELING version="1.0beta">
 
 <Modeling type="TML Component Design" nameTab="AppC" >
-<TMLComponentTaskDiagramPanel name="TML Component Task Diagram" minX="0" maxX="1724" minY="0" maxY="916" channels="true" events="true" requests="true" zoom="1.0000000000000018" >
+<TMLComponentTaskDiagramPanel name="TML Component Task Diagram" minX="0" maxX="2724" minY="0" maxY="916" channels="true" events="true" requests="true" zoom="1.0000000000000018" >
 <CONNECTOR type="126" id="1" >
 <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="535" y="377" id="200" />
-<P2  x="455" y="323" id="47" />
+<P1  x="522" y="390" id="200" />
+<P2  x="468" y="336" id="47" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="126" id="2" >
@@ -24,16 +24,16 @@
 <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="805" y="544" id="179" />
-<P2  x="971" y="481" id="107" />
+<P1  x="816" y="554" id="179" />
+<P2  x="971" y="502" 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="805" y="512" id="181" />
-<P2  x="932" y="472" id="105" />
+<P1  x="816" y="522" id="181" />
+<P2  x="922" y="482" id="105" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="126" id="5" >
@@ -41,134 +41,134 @@
 <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="189" />
-<P2  x="844" y="363" id="150" />
+<P2  x="831" y="376" 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="844" y="389" id="154" />
-<P2  x="932" y="358" id="115" />
+<P1  x="857" y="376" id="154" />
+<P2  x="922" y="368" 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="805" y="483" id="185" />
-<P2  x="932" y="449" id="113" />
+<P1  x="816" y="493" id="185" />
+<P2  x="922" y="459" 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="805" y="451" id="183" />
-<P2  x="932" y="422" id="111" />
+<P1  x="816" y="461" id="183" />
+<P2  x="922" y="432" 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="932" y="393" id="109" />
-<P2  x="805" y="422" id="187" />
+<P1  x="922" y="403" id="109" />
+<P2  x="816" y="432" 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="932" y="323" id="117" />
-<P2  x="736" y="271" id="70" />
+<P1  x="919" y="336" id="117" />
+<P2  x="749" y="284" 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="736" y="235" id="68" />
-<P2  x="932" y="284" id="119" />
+<P1  x="749" y="248" id="68" />
+<P2  x="919" y="297" 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="736" y="191" id="66" />
-<P2  x="932" y="241" id="121" />
+<P1  x="749" y="204" id="66" />
+<P2  x="919" y="254" 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="844" y="363" id="149" />
-<P2  x="736" y="302" id="64" />
+<P1  x="831" y="376" id="149" />
+<P2  x="749" y="315" 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="535" y="291" id="74" />
-<P2  x="455" y="291" id="41" />
+<P1  x="522" y="304" id="74" />
+<P2  x="468" y="304" 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="455" y="117" id="37" />
-<P2  x="535" y="117" id="62" />
+<P1  x="466" y="127" id="37" />
+<P2  x="525" y="127" 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="455" y="203" id="43" />
-<P2  x="535" y="203" id="76" />
+<P1  x="468" y="216" id="43" />
+<P2  x="522" y="216" 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="535" y="248" id="78" />
-<P2  x="455" y="248" id="45" />
+<P1  x="522" y="261" id="78" />
+<P2  x="468" y="261" 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="323" id="80" />
-<P2  x="535" y="403" id="205" />
+<P1  x="536" y="349" id="80" />
+<P2  x="548" y="390" 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="455" y="157" id="39" />
-<P2  x="535" y="157" id="72" />
+<P1  x="468" y="170" id="39" />
+<P2  x="522" y="170" 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="932" y="191" id="123" />
-<P2  x="736" y="112" id="84" />
+<P1  x="919" y="204" id="123" />
+<P2  x="749" y="125" 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="326" id="60" />
+<P1  x="630" y="347" id="60" />
 <P2  x="671" y="408" id="177" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
@@ -176,24 +176,24 @@
 <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="1234" y="369" id="138" />
-<P2  x="1169" y="376" id="103" />
+<P1  x="1224" y="379" id="138" />
+<P2  x="1180" y="386" 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="1169" y="411" id="101" />
-<P2  x="1234" y="404" id="136" />
+<P1  x="1180" y="421" id="101" />
+<P2  x="1224" y="414" 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="1169" y="204" id="99" />
-<P2  x="1169" y="272" id="97" />
+<P1  x="1180" y="214" id="99" />
+<P2  x="1180" y="282" id="97" />
 <Point x="1224" y="226" />
 <Point x="1224" y="266" />
 <AutomaticDrawing  data="true" />
@@ -218,15 +218,15 @@
 <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="1169" y="451" id="95" />
-<P2  x="1234" y="432" id="134" />
+<P1  x="1180" y="461" id="95" />
+<P2  x="1224" y="442" id="134" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <COMPONENT type="1205" id="36" >
 <cdparam x="1152" y="505" />
 <sizeparam width="206" height="105" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="1725" minY="0" maxY="917" />
+<cdrectangleparam minX="0" maxX="2725" minY="0" maxY="917" />
 <infoparam name="Record component" value="TCP_CTRL" />
 <TGConnectingPoint num="0" id="28" />
 <TGConnectingPoint num="1" id="29" />
@@ -246,7 +246,7 @@
 <cdparam x="164" y="97" />
 <sizeparam width="291" height="277" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="1725" minY="0" maxY="917" />
+<cdrectangleparam minX="0" maxX="2725" minY="0" maxY="917" />
 <infoparam name="TGComponent" value="InterfaceDevice" />
 <TGConnectingPoint num="0" id="51" />
 <TGConnectingPoint num="1" id="52" />
@@ -308,7 +308,7 @@
 <infoparam name="TGComponent" value="Event data_Ready_SC" />
 <TGConnectingPoint num="0" id="41" />
 <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="data_Ready_SC" commType="1" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -325,7 +325,7 @@
 <infoparam name="TGComponent" value="Channel fromDtoSC" />
 <TGConnectingPoint num="0" id="43" />
 <extraparam>
-<Prop commName="fromDtoSC" commType="0" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="uint_16" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<Prop commName="fromDtoSC" commType="0" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -342,7 +342,7 @@
 <infoparam name="TGComponent" value="Channel fromSCtoD" />
 <TGConnectingPoint num="0" id="45" />
 <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="fromSCtoD" commType="0" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -359,7 +359,7 @@
 <infoparam name="TGComponent" value="Event answerToReset, pTSConfirm" />
 <TGConnectingPoint num="0" id="47" />
 <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" />
+<Prop commName="answerToReset, pTSConfirm" commType="1" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -389,7 +389,7 @@
 <cdparam x="535" y="94" />
 <sizeparam width="936" height="530" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="1725" minY="0" maxY="917" />
+<cdrectangleparam minX="0" maxX="2725" minY="0" maxY="917" />
 <infoparam name="TGComponent" value="SmartCard" />
 <TGConnectingPoint num="0" id="219" />
 <TGConnectingPoint num="1" id="220" />
@@ -558,7 +558,7 @@
 <infoparam name="TGComponent" value="Event data_Ready_SC" />
 <TGConnectingPoint num="0" id="74" />
 <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="data_Ready_SC" commType="1" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -592,7 +592,7 @@
 <infoparam name="TGComponent" value="Channel fromSCtoD" />
 <TGConnectingPoint num="0" id="78" />
 <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" />
+<Prop commName="fromSCtoD" commType="0" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -609,7 +609,7 @@
 <infoparam name="TGComponent" value="Event answerToReset, pTSConfirm" />
 <TGConnectingPoint num="0" id="80" />
 <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="answerToReset, pTSConfirm" commType="1" origin="true" finite="true" blocking="false" maxSamples="1" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -1231,7 +1231,7 @@
 <SUBCOMPONENT type="-1" id="228" >
 <father id="235" num="0" />
 <cdparam x="528" y="386" />
-<sizeparam width="12" height="15" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<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="[ ]" />
@@ -1239,7 +1239,7 @@
 <SUBCOMPONENT type="-1" id="229" >
 <father id="235" num="1" />
 <cdparam x="588" y="386" />
-<sizeparam width="12" height="15" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<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="[ ]" />
@@ -1247,7 +1247,7 @@
 <SUBCOMPONENT type="-1" id="230" >
 <father id="235" num="2" />
 <cdparam x="573" y="421" />
-<sizeparam width="12" height="15" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<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="[ ]" />
@@ -1267,7 +1267,7 @@
 <SUBCOMPONENT type="-1" id="236" >
 <father id="243" num="0" />
 <cdparam x="599" y="527" />
-<sizeparam width="51" height="15" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<sizeparam width="52" height="15" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="-75" maxX="-20" minY="10" maxY="35" />
 <infoparam name="guard 1" value="[ x==0 ]" />
@@ -1275,7 +1275,7 @@
 <SUBCOMPONENT type="-1" id="237" >
 <father id="243" num="1" />
 <cdparam x="679" y="527" />
-<sizeparam width="12" height="15" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<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="[ ]" />
@@ -1283,7 +1283,7 @@
 <SUBCOMPONENT type="-1" id="238" >
 <father id="243" num="2" />
 <cdparam x="664" y="562" />
-<sizeparam width="41" height="15" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<sizeparam width="42" 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="[ x&gt;0 ]" />
@@ -1299,8 +1299,8 @@
 </COMPONENT>
 
 <COMPONENT type="1007" id="248" >
-<cdparam x="192" y="137" />
-<sizeparam width="72" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="188" y="137" />
+<sizeparam width="81" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
 <infoparam name="send request" value="activation()" />
@@ -1312,8 +1312,8 @@
 </COMPONENT>
 
 <COMPONENT type="1008" id="251" >
-<cdparam x="205" y="237" />
-<sizeparam width="47" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="202" y="237" />
+<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 event" value="reset()" />
@@ -1326,8 +1326,8 @@
 </COMPONENT>
 
 <COMPONENT type="1010" id="254" >
-<cdparam x="172" y="288" />
-<sizeparam width="110" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="167" y="288" />
+<sizeparam width="120" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
 <infoparam name="wait event" value="answerToReset() " />
@@ -1339,8 +1339,8 @@
 </COMPONENT>
 
 <COMPONENT type="1008" id="257" >
-<cdparam x="208" y="337" />
-<sizeparam width="40" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="207" y="337" />
+<sizeparam width="43" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
 <infoparam name="send event" value="pTS()" />
@@ -1352,8 +1352,8 @@
 </COMPONENT>
 
 <COMPONENT type="1010" id="260" >
-<cdparam x="359" y="165" />
-<sizeparam width="89" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="356" y="165" />
+<sizeparam width="94" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
 <infoparam name="wait event" value="pTSConfirm() " />
@@ -1368,7 +1368,7 @@
 
 <COMPONENT type="301" id="277" >
 <cdparam x="367" y="222" />
-<sizeparam width="105" height="15" minWidth="50" minHeight="20" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<sizeparam width="114" height="15" minWidth="50" minHeight="20" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
 <infoparam name="UML Note" value="data exchange
@@ -1395,8 +1395,8 @@
 </COMPONENT>
 
 <COMPONENT type="1006" id="280" >
-<cdparam x="433" y="448" />
-<sizeparam width="87" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="429" y="448" />
+<sizeparam width="94" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
 <infoparam name="write channel" value="fromDtoSC(1)" />
@@ -1408,8 +1408,8 @@
 </COMPONENT>
 
 <COMPONENT type="1008" id="283" >
-<cdparam x="422" y="507" />
-<sizeparam width="109" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="419" y="507" />
+<sizeparam width="115" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
 <infoparam name="send event" value="data_Ready(x, b)" />
@@ -1433,8 +1433,8 @@
 </COMPONENT>
 
 <COMPONENT type="1017" id="288" >
-<cdparam x="593" y="447" />
-<sizeparam width="133" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="588" y="447" />
+<sizeparam width="142" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
 <infoparam name="notified event" value="x=?data_Ready_SC()" />
@@ -1455,8 +1455,8 @@
 </COMPONENT>
 
 <COMPONENT type="1009" id="293" >
-<cdparam x="614" y="700" />
-<sizeparam width="91" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="610" y="700" />
+<sizeparam width="98" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
 <infoparam name="read channel" value="fromSCtoD(1) " />
@@ -1468,8 +1468,8 @@
 </COMPONENT>
 
 <COMPONENT type="1010" id="296" >
-<cdparam x="604" y="619" />
-<sizeparam width="110" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="600" y="619" />
+<sizeparam width="119" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
 <infoparam name="wait event" value="data_Ready_SC() " />
@@ -1491,8 +1491,8 @@
 </COMPONENT>
 
 <COMPONENT type="1014" id="302" >
-<cdparam x="307" y="287" />
-<sizeparam width="254" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="300" y="287" />
+<sizeparam width="268" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
 <infoparam name="for loop" value="for(i=0;i&lt;nbOfComputedPackets;i = i +1)" />
@@ -1525,7 +1525,7 @@
 <cdparam x="561" y="301" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="null" />
-<P1  x="561" y="301" id="300" />
+<P1  x="568" y="301" id="300" />
 <P2  x="568" y="366" id="231" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
@@ -5682,8 +5682,8 @@ On prend b=1 comme exemple
 </COMPONENT>
 
 <COMPONENT type="1010" id="1282" >
-<cdparam x="141" y="129" />
-<sizeparam width="51" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="138" y="129" />
+<sizeparam width="57" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
 <infoparam name="wait event" value="reset() " />
@@ -5695,8 +5695,8 @@ On prend b=1 comme exemple
 </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" />
+<cdparam x="108" y="182" />
+<sizeparam width="116" 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()" />
@@ -5708,8 +5708,8 @@ On prend b=1 comme exemple
 </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" />
+<cdparam x="143" y="237" />
+<sizeparam width="47" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
 <infoparam name="wait event" value="pTS() " />
@@ -5721,8 +5721,8 @@ On prend b=1 comme exemple
 </COMPONENT>
 
 <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" />
+<cdparam x="121" y="308" />
+<sizeparam width="90" 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()" />
@@ -5735,7 +5735,7 @@ On prend b=1 comme exemple
 
 <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" />
+<sizeparam width="249" height="39" minWidth="50" minHeight="20" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
 <infoparam name="UML Note" value="The first two layers of the OSI model 
@@ -5766,8 +5766,8 @@ the smart card and the terminal
 </COMPONENT>
 
 <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" />
+<cdparam x="250" y="97" />
+<sizeparam width="96" 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()" />
@@ -5779,8 +5779,8 @@ the smart card and the terminal
 </COMPONENT>
 
 <COMPONENT type="1007" id="1314" >
-<cdparam x="241" y="148" />
-<sizeparam width="114" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="236" y="148" />
+<sizeparam width="125" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
 <infoparam name="send request" value="start_Application()" />
@@ -5801,8 +5801,8 @@ the smart card and the terminal
 </COMPONENT>
 
 <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" />
+<cdparam x="305" y="350" />
+<sizeparam width="115" 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()" />
@@ -5823,8 +5823,8 @@ the smart card and the terminal
 </COMPONENT>
 
 <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" />
+<cdparam x="318" y="308" />
+<sizeparam width="88" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
 <infoparam name="read channel" value="fromTtoP(1) " />
@@ -5836,8 +5836,8 @@ the smart card and the terminal
 </COMPONENT>
 
 <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" />
+<cdparam x="335" y="264" />
+<sizeparam width="55" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
 <infoparam name="wait event" value="send() " />
@@ -5849,8 +5849,8 @@ the smart card and the terminal
 </COMPONENT>
 
 <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" />
+<cdparam x="315" y="392" />
+<sizeparam width="94" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
 <infoparam name="write channel" value="fromSCtoD(1)" />
@@ -5862,8 +5862,8 @@ the smart card and the terminal
 </COMPONENT>
 
 <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" />
+<cdparam x="493" y="350" />
+<sizeparam width="65" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
 <infoparam name="send event" value="receive()" />
@@ -5875,8 +5875,8 @@ the smart card and the terminal
 </COMPONENT>
 
 <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" />
+<cdparam x="476" y="311" />
+<sizeparam width="98" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
 <infoparam name="read channel" value="fromDtoSC(1) " />
@@ -5888,8 +5888,8 @@ the smart card and the terminal
 </COMPONENT>
 
 <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" />
+<cdparam x="483" y="387" />
+<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="write channel" value="fromPtoT(1)" />
@@ -5901,8 +5901,8 @@ the smart card and the terminal
 </COMPONENT>
 
 <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" />
+<cdparam x="466" y="268" />
+<sizeparam width="118" 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) " />
@@ -5918,7 +5918,7 @@ the smart card and the terminal
 
 <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" />
+<sizeparam width="124" 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)" />
@@ -6125,7 +6125,7 @@ the smart card and the terminal
 <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 for loop to select" value="null" />
-<P1  x="361" y="216" id="1344" />
+<P1  x="360" y="216" id="1344" />
 <P2  x="439" y="216" id="1349" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
diff --git a/modeling/DIPLODOCUS/SmartCardProtocol_test.xml b/modeling/DIPLODOCUS/SmartCardProtocol_test.xml
new file mode 100755
index 0000000000000000000000000000000000000000..28e4c76ea42920f959d98c37f2b48d5d08f28529
--- /dev/null
+++ b/modeling/DIPLODOCUS/SmartCardProtocol_test.xml
@@ -0,0 +1,7212 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+
+<TURTLEGMODELING version="1.0beta">
+
+<Modeling type="TML Component Design" nameTab="AppC" >
+<TMLComponentTaskDiagramPanel name="TML Component Task Diagram" minX="0" maxX="1399" minY="0" maxY="970" channels="true" events="true" requests="true" zoom="0.8000000000000029" >
+<CONNECTOR type="126" id="1" >
+<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="423" y="300" id="200" />
+<P2  x="356" y="256" 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="319" y="65" id="49" />
+<P2  x="470" y="65" 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="636" y="435" id="179" />
+<P2  x="775" y="373" 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="638" y="404" id="181" />
+<P2  x="742" y="373" 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="598" y="320" id="189" />
+<P2  x="671" y="282" 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="671" y="302" id="154" />
+<P2  x="742" y="282" 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="638" y="384" id="185" />
+<P2  x="742" y="354" 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="638" y="356" id="183" />
+<P2  x="742" y="329" 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="742" y="306" id="109" />
+<P2  x="638" y="332" 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="742" y="254" id="117" />
+<P2  x="583" y="214" 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="583" y="184" id="68" />
+<P2  x="742" y="220" 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="583" y="146" id="66" />
+<P2  x="742" y="187" 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="671" y="282" id="149" />
+<P2  x="583" y="237" 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="423" y="228" id="74" />
+<P2  x="356" y="228" 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="356" y="89" id="37" />
+<P2  x="423" y="89" 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="356" y="156" id="43" />
+<P2  x="423" y="156" 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="423" y="193" id="78" />
+<P2  x="356" y="193" 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="423" y="246" id="80" />
+<P2  x="423" y="320" 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="356" y="121" id="39" />
+<P2  x="423" y="121" 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="742" y="145" id="123" />
+<P2  x="583" y="84" 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="497" y="254" id="60" />
+<P2  x="531" y="320" 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="981" y="287" id="138" />
+<P2  x="930" y="292" 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="930" y="321" id="101" />
+<P2  x="981" y="317" 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="930" y="159" id="99" />
+<P2  x="930" y="210" id="97" />
+<Point x="976" y="174" />
+<Point x="976" y="209" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR><SUBCOMPONENT type="-1" id="24" >
+<father id="26" num="0" />
+<cdparam x="976" y="174" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
+<infoparam name="point " value="null" />
+</SUBCOMPONENT>
+<SUBCOMPONENT type="-1" id="25" >
+<father id="26" num="1" />
+<cdparam x="976" y="209" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
+<infoparam name="point " value="null" />
+</SUBCOMPONENT>
+
+<CONNECTOR type="126" id="27" >
+<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="930" y="354" id="95" />
+<P2  x="981" y="339" id="134" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<COMPONENT type="1205" id="36" >
+<cdparam x="918" y="400" />
+<sizeparam width="163" height="82" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="0" maxX="1120" minY="0" maxY="777" />
+<infoparam name="Record component" value="TCP_CTRL" />
+<TGConnectingPoint num="0" id="28" />
+<TGConnectingPoint num="1" id="29" />
+<TGConnectingPoint num="2" id="30" />
+<TGConnectingPoint num="3" id="31" />
+<TGConnectingPoint num="4" id="32" />
+<TGConnectingPoint num="5" id="33" />
+<TGConnectingPoint num="6" id="34" />
+<TGConnectingPoint num="7" id="35" />
+<extraparam>
+<Attribute access="2" id="a" value="" type="0" typeOther="" />
+<Attribute access="2" id="state" value="" type="0" typeOther="" />
+</extraparam>
+</COMPONENT>
+
+<COMPONENT type="1202" id="59" >
+<cdparam x="126" y="75" />
+<sizeparam width="230" height="220" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="0" maxX="1120" minY="0" maxY="777" />
+<infoparam name="TGComponent" value="InterfaceDevice" />
+<TGConnectingPoint num="0" id="51" />
+<TGConnectingPoint num="1" id="52" />
+<TGConnectingPoint num="2" id="53" />
+<TGConnectingPoint num="3" id="54" />
+<TGConnectingPoint num="4" id="55" />
+<TGConnectingPoint num="5" id="56" />
+<TGConnectingPoint num="6" id="57" />
+<TGConnectingPoint num="7" id="58" />
+<extraparam>
+<Data isAttacker="No" />
+<Attribute access="2" id="resetType" value="0" type="0" typeOther="" />
+<Attribute access="2" id="x" value="0" type="0" typeOther="" />
+<Attribute access="2" id="i" value="0" type="0" typeOther="" />
+<Attribute access="2" id="nbOfComputedPackets" value="1" type="0" typeOther="" />
+<Attribute access="2" id="b" value="" type="4" typeOther="" />
+</extraparam>
+</COMPONENT>
+<SUBCOMPONENT type="1203" id="38" >
+<father id="59" num="0" />
+<cdparam x="348" y="89" />
+<sizeparam width="16" height="16" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="-8" maxX="222" minY="-8" maxY="212" />
+<infoparam name="TGComponent" value="Request activation" />
+<TGConnectingPoint num="0" id="37" />
+<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" />
+<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="40" >
+<father id="59" num="1" />
+<cdparam x="346" y="121" />
+<sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="-10" maxX="220" minY="-10" maxY="210" />
+<infoparam name="TGComponent" value="Event data_Ready" />
+<TGConnectingPoint num="0" id="39" />
+<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="" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+</extraparam>
+</SUBCOMPONENT>
+<SUBCOMPONENT type="1203" id="42" >
+<father id="59" num="2" />
+<cdparam x="346" y="228" />
+<sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="-10" maxX="220" minY="-10" maxY="210" />
+<infoparam name="TGComponent" value="Event data_Ready_SC" />
+<TGConnectingPoint num="0" id="41" />
+<extraparam>
+<Prop commName="data_Ready_SC" commType="1" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<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="44" >
+<father id="59" num="3" />
+<cdparam x="346" y="156" />
+<sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="-10" maxX="220" minY="-10" maxY="210" />
+<infoparam name="TGComponent" value="Channel fromDtoSC" />
+<TGConnectingPoint num="0" id="43" />
+<extraparam>
+<Prop commName="fromDtoSC" commType="0" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="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="46" >
+<father id="59" num="4" />
+<cdparam x="346" y="193" />
+<sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="-10" maxX="220" minY="-10" maxY="210" />
+<infoparam name="TGComponent" value="Channel fromSCtoD" />
+<TGConnectingPoint num="0" id="45" />
+<extraparam>
+<Prop commName="fromSCtoD" commType="0" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<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="48" >
+<father id="59" num="5" />
+<cdparam x="346" y="256" />
+<sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="-10" maxX="220" minY="-10" maxY="210" />
+<infoparam name="TGComponent" value="Event answerToReset, pTSConfirm" />
+<TGConnectingPoint num="0" id="47" />
+<extraparam>
+<Prop commName="answerToReset, pTSConfirm" commType="1" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+</extraparam>
+</SUBCOMPONENT>
+<SUBCOMPONENT type="1203" id="50" >
+<father id="59" num="6" />
+<cdparam x="309" y="65" />
+<sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="-10" maxX="220" minY="-10" maxY="210" />
+<infoparam name="TGComponent" value="Event reset, pTS" />
+<TGConnectingPoint num="0" id="49" />
+<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" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+</extraparam>
+</SUBCOMPONENT>
+
+<COMPONENT type="1200" id="227" >
+<cdparam x="423" y="70" />
+<sizeparam width="751" height="420" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="0" maxX="1120" minY="0" maxY="777" />
+<infoparam name="TGComponent" value="SmartCard" />
+<TGConnectingPoint num="0" id="219" />
+<TGConnectingPoint num="1" id="220" />
+<TGConnectingPoint num="2" id="221" />
+<TGConnectingPoint num="3" id="222" />
+<TGConnectingPoint num="4" id="223" />
+<TGConnectingPoint num="5" id="224" />
+<TGConnectingPoint num="6" id="225" />
+<TGConnectingPoint num="7" id="226" />
+<extraparam>
+<info hiddeni="false" />
+</extraparam>
+</COMPONENT>
+<SUBCOMPONENT type="1202" id="94" >
+<father id="227" num="0" />
+<cdparam x="423" y="75" />
+<sizeparam width="160" height="187" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="0" maxX="591" minY="0" maxY="233" />
+<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="61" >
+<father id="94" num="0" />
+<cdparam x="489" y="254" />
+<sizeparam width="16" height="16" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="-8" maxX="152" minY="-8" maxY="179" />
+<infoparam name="TGComponent" value="Request start_Application" />
+<TGConnectingPoint num="0" id="60" />
+<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" />
+<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="63" >
+<father id="94" num="1" />
+<cdparam x="415" y="89" />
+<sizeparam width="16" height="16" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="-8" maxX="152" minY="-8" maxY="179" />
+<infoparam name="TGComponent" value="Request activation" />
+<TGConnectingPoint num="0" id="62" />
+<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" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+</extraparam>
+</SUBCOMPONENT>
+<SUBCOMPONENT type="1203" id="65" >
+<father id="94" num="2" />
+<cdparam x="573" y="237" />
+<sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="-10" maxX="150" minY="-10" maxY="177" />
+<infoparam name="TGComponent" value="Request start_TCP_IP" />
+<TGConnectingPoint num="0" id="64" />
+<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" />
+<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="67" >
+<father id="94" num="3" />
+<cdparam x="573" y="146" />
+<sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="-10" maxX="150" minY="-10" maxY="177" />
+<infoparam name="TGComponent" value="Event receive" />
+<TGConnectingPoint num="0" id="66" />
+<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" />
+<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="69" >
+<father id="94" num="4" />
+<cdparam x="573" y="184" />
+<sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="-10" maxX="150" minY="-10" maxY="177" />
+<infoparam name="TGComponent" value="Channel fromPtoT" />
+<TGConnectingPoint num="0" id="68" />
+<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" />
+<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="71" >
+<father id="94" num="5" />
+<cdparam x="573" y="214" />
+<sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="-10" maxX="150" minY="-10" maxY="177" />
+<infoparam name="TGComponent" value="Channel fromTtoP" />
+<TGConnectingPoint num="0" id="70" />
+<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" />
+<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="73" >
+<father id="94" num="6" />
+<cdparam x="413" y="121" />
+<sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="-10" maxX="150" minY="-10" maxY="177" />
+<infoparam name="TGComponent" value="Event data_Ready" />
+<TGConnectingPoint num="0" id="72" />
+<extraparam>
+<Prop commName="data_Ready" commType="1" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="uint_16" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<Type type="1" typeOther="" />
+<Type type="2" typeOther="" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+</extraparam>
+</SUBCOMPONENT>
+<SUBCOMPONENT type="1203" id="75" >
+<father id="94" num="7" />
+<cdparam x="413" y="228" />
+<sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="-10" maxX="150" minY="-10" maxY="177" />
+<infoparam name="TGComponent" value="Event data_Ready_SC" />
+<TGConnectingPoint num="0" id="74" />
+<extraparam>
+<Prop commName="data_Ready_SC" commType="1" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<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="77" >
+<father id="94" num="8" />
+<cdparam x="413" y="156" />
+<sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="-10" maxX="150" minY="-10" maxY="177" />
+<infoparam name="TGComponent" value="Channel fromDtoSC" />
+<TGConnectingPoint num="0" id="76" />
+<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" />
+<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="79" >
+<father id="94" num="9" />
+<cdparam x="413" y="193" />
+<sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="-10" maxX="150" minY="-10" maxY="177" />
+<infoparam name="TGComponent" value="Channel fromSCtoD" />
+<TGConnectingPoint num="0" id="78" />
+<extraparam>
+<Prop commName="fromSCtoD" commType="0" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<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="81" >
+<father id="94" num="10" />
+<cdparam x="413" y="246" />
+<sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="-10" maxX="150" minY="-10" maxY="177" />
+<infoparam name="TGComponent" value="Event answerToReset, pTSConfirm" />
+<TGConnectingPoint num="0" id="80" />
+<extraparam>
+<Prop commName="answerToReset, pTSConfirm" commType="1" origin="true" finite="true" blocking="false" maxSamples="1" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<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="83" >
+<father id="94" num="11" />
+<cdparam x="460" y="65" />
+<sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="-10" maxX="150" minY="-10" maxY="177" />
+<infoparam name="TGComponent" value="Event reset, pTS" />
+<TGConnectingPoint num="0" id="82" />
+<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" />
+<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="85" >
+<father id="94" num="12" />
+<cdparam x="573" y="84" />
+<sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="-10" maxX="150" minY="-10" maxY="177" />
+<infoparam name="TGComponent" value="Event send" />
+<TGConnectingPoint num="0" id="84" />
+<extraparam>
+<Prop commName="send" commType="1" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="VOID" associatedEvent="VOID" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+</extraparam>
+</SUBCOMPONENT>
+<SUBCOMPONENT type="1200" id="176" >
+<father id="227" num="1" />
+<cdparam x="671" y="101" />
+<sizeparam width="456" height="388" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="0" maxX="295" minY="0" maxY="32" />
+<infoparam name="TGComponent" value="TCPIP Entities" />
+<TGConnectingPoint num="0" id="168" />
+<TGConnectingPoint num="1" id="169" />
+<TGConnectingPoint num="2" id="170" />
+<TGConnectingPoint num="3" id="171" />
+<TGConnectingPoint num="4" id="172" />
+<TGConnectingPoint num="5" id="173" />
+<TGConnectingPoint num="6" id="174" />
+<TGConnectingPoint num="7" id="175" />
+<extraparam>
+<info hiddeni="false" />
+</extraparam>
+</SUBCOMPONENT>
+<SUBCOMPONENT type="1202" id="133" >
+<father id="176" num="0" />
+<cdparam x="742" y="129" />
+<sizeparam width="188" height="252" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="0" maxX="268" minY="0" maxY="136" />
+<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="922" y="354" />
+<sizeparam width="16" height="16" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="-8" maxX="180" minY="-8" maxY="244" />
+<infoparam name="TGComponent" value="Event stop" />
+<TGConnectingPoint num="0" id="95" />
+<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" />
+<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="98" >
+<father id="133" num="1" />
+<cdparam x="922" y="210" />
+<sizeparam width="16" height="16" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="-8" maxX="180" minY="-8" maxY="244" />
+<infoparam name="TGComponent" value="Channel temp" />
+<TGConnectingPoint num="0" id="97" />
+<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" />
+<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="100" >
+<father id="133" num="2" />
+<cdparam x="922" y="159" />
+<sizeparam width="16" height="16" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="-8" maxX="180" minY="-8" maxY="244" />
+<infoparam name="TGComponent" value="Channel temp" />
+<TGConnectingPoint num="0" id="99" />
+<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" />
+<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="102" >
+<father id="133" num="3" />
+<cdparam x="922" y="321" />
+<sizeparam width="16" height="16" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="-8" maxX="180" minY="-8" maxY="244" />
+<infoparam name="TGComponent" value="Request req_Timer" />
+<TGConnectingPoint num="0" id="101" />
+<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" />
+<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="104" >
+<father id="133" num="4" />
+<cdparam x="922" y="292" />
+<sizeparam width="16" height="16" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="-8" maxX="180" minY="-8" maxY="244" />
+<infoparam name="TGComponent" value="Event timeOut" />
+<TGConnectingPoint num="0" id="103" />
+<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" />
+<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="106" >
+<father id="133" num="5" />
+<cdparam x="734" y="373" />
+<sizeparam width="16" height="16" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="-8" maxX="180" minY="-8" maxY="244" />
+<infoparam name="TGComponent" value="Event receive_Application" />
+<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="" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+</extraparam>
+</SUBCOMPONENT>
+<SUBCOMPONENT type="1203" id="108" >
+<father id="133" num="6" />
+<cdparam x="767" y="373" />
+<sizeparam width="16" height="16" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="-8" maxX="180" minY="-8" maxY="244" />
+<infoparam name="TGComponent" value="Channel fromAtoT" />
+<TGConnectingPoint num="0" id="107" />
+<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" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+</extraparam>
+</SUBCOMPONENT>
+<SUBCOMPONENT type="1203" id="110" >
+<father id="133" num="7" />
+<cdparam x="734" y="306" />
+<sizeparam width="16" height="16" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="-8" maxX="180" minY="-8" maxY="244" />
+<infoparam name="TGComponent" value="Channel fromTtoA" />
+<TGConnectingPoint num="0" id="109" />
+<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" />
+<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="112" >
+<father id="133" num="8" />
+<cdparam x="734" y="329" />
+<sizeparam width="16" height="16" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="-8" maxX="180" minY="-8" maxY="244" />
+<infoparam name="TGComponent" value="Event open, abort, close" />
+<TGConnectingPoint num="0" id="111" />
+<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" />
+<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="114" >
+<father id="133" num="9" />
+<cdparam x="734" y="354" />
+<sizeparam width="16" height="16" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="-8" maxX="180" minY="-8" maxY="244" />
+<infoparam name="TGComponent" value="Event send_TCP" />
+<TGConnectingPoint num="0" id="113" />
+<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" />
+<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="116" >
+<father id="133" num="10" />
+<cdparam x="734" y="282" />
+<sizeparam width="16" height="16" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="-8" maxX="180" minY="-8" maxY="244" />
+<infoparam name="TGComponent" value="Request start_TCP_IP" />
+<TGConnectingPoint num="0" id="115" />
+<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" />
+<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="118" >
+<father id="133" num="11" />
+<cdparam x="732" y="254" />
+<sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="-10" maxX="178" minY="-10" maxY="242" />
+<infoparam name="TGComponent" value="Channel fromTtoP" />
+<TGConnectingPoint num="0" id="117" />
+<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="" />
+</extraparam>
+</SUBCOMPONENT>
+<SUBCOMPONENT type="1203" id="120" >
+<father id="133" num="12" />
+<cdparam x="732" y="220" />
+<sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="-10" maxX="178" minY="-10" maxY="242" />
+<infoparam name="TGComponent" value="Channel fromPtoT" />
+<TGConnectingPoint num="0" id="119" />
+<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" />
+<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="122" >
+<father id="133" num="13" />
+<cdparam x="732" y="187" />
+<sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="-10" maxX="178" minY="-10" maxY="242" />
+<infoparam name="TGComponent" value="Event receive" />
+<TGConnectingPoint num="0" id="121" />
+<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" />
+<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="124" >
+<father id="133" num="14" />
+<cdparam x="732" y="145" />
+<sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="-10" maxX="178" minY="-10" maxY="242" />
+<infoparam name="TGComponent" value="Event send" />
+<TGConnectingPoint num="0" id="123" />
+<extraparam>
+<Prop commName="send" commType="1" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="VOID" associatedEvent="VOID" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+</extraparam>
+</SUBCOMPONENT>
+<SUBCOMPONENT type="1202" id="148" >
+<father id="176" num="1" />
+<cdparam x="981" y="259" />
+<sizeparam width="111" height="110" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="0" maxX="345" minY="0" maxY="278" />
+<infoparam name="TGComponent" value="Timer" />
+<TGConnectingPoint num="0" id="140" />
+<TGConnectingPoint num="1" id="141" />
+<TGConnectingPoint num="2" id="142" />
+<TGConnectingPoint num="3" id="143" />
+<TGConnectingPoint num="4" id="144" />
+<TGConnectingPoint num="5" id="145" />
+<TGConnectingPoint num="6" id="146" />
+<TGConnectingPoint num="7" id="147" />
+<extraparam>
+<Data isAttacker="No" />
+<Attribute access="2" id="x" value="0" type="0" typeOther="" />
+</extraparam>
+</SUBCOMPONENT>
+<SUBCOMPONENT type="1203" id="135" >
+<father id="148" num="0" />
+<cdparam x="973" y="339" />
+<sizeparam width="16" height="16" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="-8" maxX="103" minY="-8" maxY="102" />
+<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="" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+</extraparam>
+</SUBCOMPONENT>
+<SUBCOMPONENT type="1203" id="137" >
+<father id="148" num="1" />
+<cdparam x="973" y="317" />
+<sizeparam width="16" height="16" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="-8" maxX="103" minY="-8" maxY="102" />
+<infoparam name="TGComponent" value="Request req_Timer" />
+<TGConnectingPoint num="0" id="136" />
+<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" />
+<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="139" >
+<father id="148" num="2" />
+<cdparam x="973" y="287" />
+<sizeparam width="16" height="16" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="-8" maxX="103" minY="-8" maxY="102" />
+<infoparam name="TGComponent" value="Event timeOut" />
+<TGConnectingPoint num="0" id="138" />
+<extraparam>
+<Prop commName="timeOut" commType="1" origin="true" finite="true" blocking="false" maxSamples="1" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="-1" dataFlowType="VOID" associatedEvent="VOID" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+</extraparam>
+</SUBCOMPONENT>
+<SUBCOMPONENT type="1201" id="167" >
+<father id="176" num="2" />
+<cdparam x="661" y="282" />
+<sizeparam width="20" height="20" minWidth="3" minHeight="3" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="-10" maxX="446" minY="-10" maxY="378" />
+<infoparam name="Composite port" value="" />
+<TGConnectingPoint num="0" id="149" />
+<TGConnectingPoint num="1" id="150" />
+<TGConnectingPoint num="2" id="151" />
+<TGConnectingPoint num="3" id="152" />
+<TGConnectingPoint num="4" id="153" />
+<TGConnectingPoint num="5" id="154" />
+<TGConnectingPoint num="6" id="155" />
+<TGConnectingPoint num="7" id="156" />
+<TGConnectingPoint num="8" id="157" />
+<TGConnectingPoint num="9" id="158" />
+<TGConnectingPoint num="10" id="159" />
+<TGConnectingPoint num="11" id="160" />
+<TGConnectingPoint num="12" id="161" />
+<TGConnectingPoint num="13" id="162" />
+<TGConnectingPoint num="14" id="163" />
+<TGConnectingPoint num="15" id="164" />
+<TGConnectingPoint num="16" id="165" />
+<TGConnectingPoint num="17" id="166" />
+</SUBCOMPONENT>
+<SUBCOMPONENT type="1202" id="199" >
+<father id="227" num="2" />
+<cdparam x="446" y="328" />
+<sizeparam width="192" height="115" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="0" maxX="559" minY="0" maxY="305" />
+<infoparam name="TGComponent" value="Application" />
+<TGConnectingPoint num="0" id="191" />
+<TGConnectingPoint num="1" id="192" />
+<TGConnectingPoint num="2" id="193" />
+<TGConnectingPoint num="3" id="194" />
+<TGConnectingPoint num="4" id="195" />
+<TGConnectingPoint num="5" id="196" />
+<TGConnectingPoint num="6" id="197" />
+<TGConnectingPoint num="7" id="198" />
+<extraparam>
+<Data isAttacker="No" />
+</extraparam>
+</SUBCOMPONENT>
+<SUBCOMPONENT type="1203" id="178" >
+<father id="199" num="0" />
+<cdparam x="523" y="320" />
+<sizeparam width="16" height="16" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="-8" maxX="184" minY="-8" maxY="107" />
+<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="180" >
+<father id="199" num="1" />
+<cdparam x="628" y="435" />
+<sizeparam width="16" height="16" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="-8" maxX="184" minY="-8" maxY="107" />
+<infoparam name="TGComponent" value="Channel fromAtoT" />
+<TGConnectingPoint num="0" id="179" />
+<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" />
+<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="182" >
+<father id="199" num="2" />
+<cdparam x="630" y="404" />
+<sizeparam width="16" height="16" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="-8" maxX="184" minY="-8" maxY="107" />
+<infoparam name="TGComponent" value="Event receive_Application" />
+<TGConnectingPoint num="0" id="181" />
+<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" />
+<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="184" >
+<father id="199" num="3" />
+<cdparam x="630" y="356" />
+<sizeparam width="16" height="16" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="-8" maxX="184" minY="-8" maxY="107" />
+<infoparam name="TGComponent" value="Event open, abort, close" />
+<TGConnectingPoint num="0" id="183" />
+<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" />
+<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="186" >
+<father id="199" num="4" />
+<cdparam x="630" y="384" />
+<sizeparam width="16" height="16" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="-8" maxX="184" minY="-8" maxY="107" />
+<infoparam name="TGComponent" value="Event send_TCP" />
+<TGConnectingPoint num="0" id="185" />
+<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" />
+<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="188" >
+<father id="199" num="5" />
+<cdparam x="630" y="332" />
+<sizeparam width="16" height="16" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="-8" maxX="184" minY="-8" maxY="107" />
+<infoparam name="TGComponent" value="Channel fromTtoA" />
+<TGConnectingPoint num="0" id="187" />
+<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" />
+<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="190" >
+<father id="199" num="6" />
+<cdparam x="590" y="320" />
+<sizeparam width="16" height="16" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="-8" maxX="184" minY="-8" maxY="107" />
+<infoparam name="TGComponent" value="Request start_TCP_IP" />
+<TGConnectingPoint num="0" id="189" />
+<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" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+</extraparam>
+</SUBCOMPONENT>
+<SUBCOMPONENT type="1201" id="218" >
+<father id="227" num="3" />
+<cdparam x="413" y="300" />
+<sizeparam width="20" height="20" minWidth="3" minHeight="3" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="-10" maxX="741" minY="-10" maxY="410" />
+<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>
+
+<TMLActivityDiagramPanel name="InterfaceDevice" minX="10" maxX="1400" minY="10" maxY="900" >
+<COMPONENT type="1012" id="235" >
+<cdparam x="553" y="376" />
+<sizeparam width="30" height="30" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
+<infoparam name="choice" value="null" />
+<TGConnectingPoint num="0" id="231" />
+<TGConnectingPoint num="1" id="232" />
+<TGConnectingPoint num="2" id="233" />
+<TGConnectingPoint num="3" id="234" />
+</COMPONENT>
+<SUBCOMPONENT type="-1" id="228" >
+<father id="235" num="0" />
+<cdparam x="528" y="386" />
+<sizeparam width="12" height="15" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="-75" maxX="-20" minY="10" maxY="35" />
+<infoparam name="guard 1" value="[ ]" />
+</SUBCOMPONENT>
+<SUBCOMPONENT type="-1" id="229" >
+<father id="235" num="1" />
+<cdparam x="588" y="386" />
+<sizeparam width="12" height="15" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="35" maxX="55" minY="10" maxY="35" />
+<infoparam name="guard 2" value="[ ]" />
+</SUBCOMPONENT>
+<SUBCOMPONENT type="-1" id="230" >
+<father id="235" num="2" />
+<cdparam x="573" y="421" />
+<sizeparam width="12" height="15" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="20" maxX="40" minY="45" maxY="70" />
+<infoparam name="guard 3" value="[ ]" />
+</SUBCOMPONENT>
+
+<COMPONENT type="1012" id="243" >
+<cdparam x="644" y="517" />
+<sizeparam width="30" height="30" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
+<infoparam name="choice" value="null" />
+<TGConnectingPoint num="0" id="239" />
+<TGConnectingPoint num="1" id="240" />
+<TGConnectingPoint num="2" id="241" />
+<TGConnectingPoint num="3" id="242" />
+</COMPONENT>
+<SUBCOMPONENT type="-1" id="236" >
+<father id="243" num="0" />
+<cdparam x="599" y="527" />
+<sizeparam width="51" height="15" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="-75" maxX="-20" minY="10" maxY="35" />
+<infoparam name="guard 1" value="[ x==0 ]" />
+</SUBCOMPONENT>
+<SUBCOMPONENT type="-1" id="237" >
+<father id="243" num="1" />
+<cdparam x="679" y="527" />
+<sizeparam width="12" height="15" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="35" maxX="55" minY="10" maxY="35" />
+<infoparam name="guard 2" value="[ ]" />
+</SUBCOMPONENT>
+<SUBCOMPONENT type="-1" id="238" >
+<father id="243" num="2" />
+<cdparam x="664" y="562" />
+<sizeparam width="41" height="15" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="20" maxX="40" minY="45" maxY="70" />
+<infoparam name="guard 3" value="[ x&gt;0 ]" />
+</SUBCOMPONENT>
+
+<COMPONENT type="1000" id="245" >
+<cdparam x="222" y="58" />
+<sizeparam width="15" height="15" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
+<infoparam name="start state" value="null" />
+<TGConnectingPoint num="0" id="244" />
+</COMPONENT>
+
+<COMPONENT type="1007" id="248" >
+<cdparam x="192" y="137" />
+<sizeparam width="72" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
+<infoparam name="send request" value="activation()" />
+<TGConnectingPoint num="0" id="246" />
+<TGConnectingPoint num="1" id="247" />
+<extraparam>
+<Data requestName="activation" nbOfParams="5" />
+</extraparam>
+</COMPONENT>
+
+<COMPONENT type="1008" id="251" >
+<cdparam x="205" y="237" />
+<sizeparam width="47" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
+<infoparam name="send event" value="reset()" />
+<TGConnectingPoint num="0" id="249" />
+<TGConnectingPoint num="1" id="250" />
+<latencyCheck />
+<extraparam>
+<Data eventName="reset" nbOfParams="5" />
+</extraparam>
+</COMPONENT>
+
+<COMPONENT type="1010" id="254" >
+<cdparam x="172" y="288" />
+<sizeparam width="110" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
+<infoparam name="wait event" value="answerToReset() " />
+<TGConnectingPoint num="0" id="252" />
+<TGConnectingPoint num="1" id="253" />
+<extraparam>
+<Data eventName="answerToReset" nbOfParams="5" />
+</extraparam>
+</COMPONENT>
+
+<COMPONENT type="1008" id="257" >
+<cdparam x="208" y="337" />
+<sizeparam width="40" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
+<infoparam name="send event" value="pTS()" />
+<TGConnectingPoint num="0" id="255" />
+<TGConnectingPoint num="1" id="256" />
+<extraparam>
+<Data eventName="pTS" nbOfParams="5" />
+</extraparam>
+</COMPONENT>
+
+<COMPONENT type="1010" id="260" >
+<cdparam x="359" y="165" />
+<sizeparam width="89" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
+<infoparam name="wait event" value="pTSConfirm() " />
+<TGConnectingPoint num="0" id="258" />
+<TGConnectingPoint num="1" id="259" />
+<latencyCheck />
+<breakpoint />
+<extraparam>
+<Data eventName="pTSConfirm" nbOfParams="5" />
+</extraparam>
+</COMPONENT>
+
+<COMPONENT type="301" id="277" >
+<cdparam x="367" y="222" />
+<sizeparam width="105" height="15" minWidth="50" minHeight="20" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
+<infoparam name="UML Note" value="data exchange
+" />
+<TGConnectingPoint num="0" id="261" />
+<TGConnectingPoint num="1" id="262" />
+<TGConnectingPoint num="2" id="263" />
+<TGConnectingPoint num="3" id="264" />
+<TGConnectingPoint num="4" id="265" />
+<TGConnectingPoint num="5" id="266" />
+<TGConnectingPoint num="6" id="267" />
+<TGConnectingPoint num="7" id="268" />
+<TGConnectingPoint num="8" id="269" />
+<TGConnectingPoint num="9" id="270" />
+<TGConnectingPoint num="10" id="271" />
+<TGConnectingPoint num="11" id="272" />
+<TGConnectingPoint num="12" id="273" />
+<TGConnectingPoint num="13" id="274" />
+<TGConnectingPoint num="14" id="275" />
+<TGConnectingPoint num="15" id="276" />
+<extraparam>
+<Line value="data exchange" />
+</extraparam>
+</COMPONENT>
+
+<COMPONENT type="1006" id="280" >
+<cdparam x="433" y="448" />
+<sizeparam width="87" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
+<infoparam name="write channel" value="fromDtoSC(1)" />
+<TGConnectingPoint num="0" id="278" />
+<TGConnectingPoint num="1" id="279" />
+<extraparam>
+<Data channelName="fromDtoSC" nbOfSamples="1" secPattern="" isAttacker="No" />
+</extraparam>
+</COMPONENT>
+
+<COMPONENT type="1008" id="283" >
+<cdparam x="422" y="507" />
+<sizeparam width="109" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
+<infoparam name="send event" value="data_Ready(x, b)" />
+<TGConnectingPoint num="0" id="281" />
+<TGConnectingPoint num="1" id="282" />
+<latencyCheck />
+<extraparam>
+<Data eventName="data_Ready" nbOfParams="5" />
+<Param index="0" value="x" />
+<Param index="1" value="b" />
+</extraparam>
+</COMPONENT>
+
+<COMPONENT type="1001" id="285" >
+<cdparam x="466" y="570" />
+<sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
+<infoparam name="stop state" value="null" />
+<TGConnectingPoint num="0" id="284" />
+</COMPONENT>
+
+<COMPONENT type="1017" id="288" >
+<cdparam x="593" y="447" />
+<sizeparam width="133" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
+<infoparam name="notified event" value="x=?data_Ready_SC()" />
+<TGConnectingPoint num="0" id="286" />
+<TGConnectingPoint num="1" id="287" />
+<extraparam>
+<Data eventName="data_Ready_SC" variable="x" />
+</extraparam>
+</COMPONENT>
+
+<COMPONENT type="1001" id="290" >
+<cdparam x="569" y="577" />
+<sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
+<infoparam name="stop state" value="null" />
+<TGConnectingPoint num="0" id="289" />
+</COMPONENT>
+
+<COMPONENT type="1009" id="293" >
+<cdparam x="614" y="700" />
+<sizeparam width="91" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
+<infoparam name="read channel" value="fromSCtoD(1) " />
+<TGConnectingPoint num="0" id="291" />
+<TGConnectingPoint num="1" id="292" />
+<extraparam>
+<Data channelName="fromSCtoD" nbOfSamples="1" secPattern="" isAttacker="No" />
+</extraparam>
+</COMPONENT>
+
+<COMPONENT type="1010" id="296" >
+<cdparam x="604" y="619" />
+<sizeparam width="110" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
+<infoparam name="wait event" value="data_Ready_SC() " />
+<TGConnectingPoint num="0" id="294" />
+<TGConnectingPoint num="1" id="295" />
+<accessibility />
+<extraparam>
+<Data eventName="data_Ready_SC" nbOfParams="5" />
+</extraparam>
+</COMPONENT>
+
+<COMPONENT type="1001" id="298" >
+<cdparam x="649" y="774" />
+<sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
+<infoparam name="stop state" value="null" />
+<TGConnectingPoint num="0" id="297" />
+</COMPONENT>
+
+<COMPONENT type="1014" id="302" >
+<cdparam x="307" y="287" />
+<sizeparam width="254" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
+<infoparam name="for loop" value="for(i=0;i&lt;nbOfComputedPackets;i = i +1)" />
+<TGConnectingPoint num="0" id="299" />
+<TGConnectingPoint num="1" id="300" />
+<TGConnectingPoint num="2" id="301" />
+<extraparam>
+<Data init="i=0" condition="i&lt;nbOfComputedPackets" increment="i = i +1" />
+</extraparam>
+</COMPONENT>
+
+<COMPONENT type="1001" id="304" >
+<cdparam x="382" y="380" />
+<sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
+<infoparam name="stop state" value="null" />
+<TGConnectingPoint num="0" id="303" />
+</COMPONENT>
+
+<CONNECTOR type="115" id="305" >
+<cdparam x="434" y="312" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="null" />
+<P1  x="434" y="312" id="301" />
+<P2  x="392" y="375" id="303" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<CONNECTOR type="115" id="306" >
+<cdparam x="561" y="301" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="null" />
+<P1  x="561" y="301" id="300" />
+<P2  x="568" y="366" id="231" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<CONNECTOR type="115" id="311" >
+<cdparam x="78" y="363" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector from send event to wait event" value="null" />
+<P1  x="228" y="362" id="256" />
+<P2  x="403" y="160" id="258" />
+<Point x="228" y="383" />
+<Point x="307" y="383" />
+<Point x="307" y="140" />
+<Point x="403" y="140" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR><SUBCOMPONENT type="-1" id="307" >
+<father id="311" num="0" />
+<cdparam x="228" y="383" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="1400" />
+<infoparam name="point " value="null" />
+</SUBCOMPONENT>
+<SUBCOMPONENT type="-1" id="308" >
+<father id="311" num="1" />
+<cdparam x="307" y="383" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="1400" />
+<infoparam name="point " value="null" />
+</SUBCOMPONENT>
+<SUBCOMPONENT type="-1" id="309" >
+<father id="311" num="2" />
+<cdparam x="307" y="140" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="1400" />
+<infoparam name="point " value="null" />
+</SUBCOMPONENT>
+<SUBCOMPONENT type="-1" id="310" >
+<father id="311" num="3" />
+<cdparam x="403" y="140" />
+<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="312" >
+<cdparam x="228" y="57" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector from start state to send request" value="null" />
+<P1  x="229" y="78" id="244" />
+<P2  x="228" y="132" id="246" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<CONNECTOR type="115" id="313" >
+<cdparam x="228" y="162" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector from send request to send event" value="null" />
+<P1  x="228" y="162" id="247" />
+<P2  x="228" y="232" id="249" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<CONNECTOR type="115" id="314" >
+<cdparam x="228" y="284" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector from wait event to send event" value="null" />
+<P1  x="227" y="313" id="253" />
+<P2  x="228" y="332" id="255" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<CONNECTOR type="115" id="315" >
+<cdparam x="528" y="391" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector from choice to write channel" value="null" />
+<P1  x="528" y="391" id="232" />
+<P2  x="476" y="443" id="278" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<CONNECTOR type="115" id="316" >
+<cdparam x="476" y="473" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector from write channel to send event" value="null" />
+<P1  x="476" y="473" id="279" />
+<P2  x="476" y="502" id="281" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<CONNECTOR type="115" id="317" >
+<cdparam x="471" y="529" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector from send event to stop state" value="null" />
+<P1  x="476" y="532" id="282" />
+<P2  x="476" y="565" id="284" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<CONNECTOR type="115" id="318" >
+<cdparam x="619" y="532" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector from choice to stop state" value="null" />
+<P1  x="619" y="532" id="240" />
+<P2  x="579" y="572" id="289" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<CONNECTOR type="115" id="319" >
+<cdparam x="580" y="405" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector from choice to notified event" value="null" />
+<P1  x="608" y="391" id="233" />
+<P2  x="659" y="442" id="286" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<CONNECTOR type="115" id="320" >
+<cdparam x="659" y="472" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector from notified event to choice" value="null" />
+<P1  x="659" y="472" id="287" />
+<P2  x="659" y="507" id="239" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<CONNECTOR type="115" id="321" >
+<cdparam x="659" y="572" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector from choice to wait event" value="null" />
+<P1  x="659" y="572" id="242" />
+<P2  x="659" y="614" id="294" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<CONNECTOR type="115" id="322" >
+<cdparam x="670" y="644" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector from wait event to read channel" value="null" />
+<P1  x="659" y="644" id="295" />
+<P2  x="659" y="695" id="291" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<CONNECTOR type="115" id="323" >
+<cdparam x="659" y="725" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector from read channel to stop state" value="null" />
+<P1  x="659" y="725" id="292" />
+<P2  x="659" y="769" id="297" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<CONNECTOR type="115" id="324" >
+<cdparam x="403" y="190" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector from wait event to for loop" value="null" />
+<P1  x="403" y="190" id="259" />
+<P2  x="434" y="282" id="299" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<CONNECTOR type="115" id="325" >
+<cdparam x="228" y="262" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector from send event to wait event" value="null" />
+<P1  x="228" y="262" id="250" />
+<P2  x="227" y="283" id="252" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+
+</TMLActivityDiagramPanel>
+
+<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="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="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="start state" value="null" />
+<TGConnectingPoint num="0" id="334" />
+</COMPONENT>
+
+<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="open()" />
+<TGConnectingPoint num="0" id="336" />
+<TGConnectingPoint num="1" id="337" />
+<extraparam>
+<Data eventName="open" nbOfParams="5" />
+</extraparam>
+</COMPONENT>
+
+<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="write channel" value="fromAtoT(1)" />
+<TGConnectingPoint num="0" id="339" />
+<TGConnectingPoint num="1" id="340" />
+<extraparam>
+<Data channelName="fromAtoT" nbOfSamples="1" secPattern="" isAttacker="No" />
+</extraparam>
+</COMPONENT>
+
+<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="send_TCP()" />
+<TGConnectingPoint num="0" id="342" />
+<TGConnectingPoint num="1" id="343" />
+<extraparam>
+<Data eventName="send_TCP" nbOfParams="5" />
+</extraparam>
+</COMPONENT>
+
+<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="stop state" value="null" />
+<TGConnectingPoint num="0" id="345" />
+</COMPONENT>
+
+<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 event" value="abort()" />
+<TGConnectingPoint num="0" id="347" />
+<TGConnectingPoint num="1" id="348" />
+<extraparam>
+<Data eventName="abort" nbOfParams="5" />
+</extraparam>
+</COMPONENT>
+
+<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 event" value="close()" />
+<TGConnectingPoint num="0" id="350" />
+<TGConnectingPoint num="1" id="351" />
+<extraparam>
+<Data eventName="close" nbOfParams="5" />
+</extraparam>
+</COMPONENT>
+
+<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="353" />
+</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>
+
+</TMLActivityDiagramPanel>
+
+<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="choice" value="null" />
+<TGConnectingPoint num="0" id="366" />
+<TGConnectingPoint num="1" id="367" />
+<TGConnectingPoint num="2" id="368" />
+<TGConnectingPoint num="3" id="369" />
+</COMPONENT>
+<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="-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="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="20" maxX="40" minY="45" maxY="70" />
+<infoparam name="guard 3" value="[ ]" />
+</SUBCOMPONENT>
+
+<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="start state" value="null" />
+<TGConnectingPoint num="0" id="371" />
+</COMPONENT>
+
+<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="stop state" value="null" />
+<TGConnectingPoint num="0" id="373" />
+</COMPONENT>
+
+<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="send event" value="timeOut()" />
+<TGConnectingPoint num="0" id="375" />
+<TGConnectingPoint num="1" id="376" />
+<extraparam>
+<Data eventName="timeOut" nbOfParams="5" />
+</extraparam>
+</COMPONENT>
+
+<COMPONENT type="1010" id="380" >
+<cdparam x="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="wait event" value="stop() " />
+<TGConnectingPoint num="0" id="378" />
+<TGConnectingPoint num="1" id="379" />
+<extraparam>
+<Data eventName="stop" nbOfParams="5" />
+</extraparam>
+</COMPONENT>
+
+<COMPONENT type="1001" id="382" >
+<cdparam x="612" y="365" />
+<sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
+<infoparam name="stop state" value="null" />
+<TGConnectingPoint num="0" id="381" />
+</COMPONENT>
+
+<COMPONENT type="1017" id="385" >
+<cdparam x="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="notified event" value="x=?stop()" />
+<TGConnectingPoint num="0" id="383" />
+<TGConnectingPoint num="1" id="384" />
+<extraparam>
+<Data eventName="stop" variable="x" />
+</extraparam>
+</COMPONENT>
+
+<CONNECTOR type="115" id="386" >
+<cdparam x="427" y="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="376" />
+<P2  x="427" y="362" id="373" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<CONNECTOR type="115" id="387" >
+<cdparam x="622" y="325" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector from wait event to stop state" value="null" />
+<P1  x="622" y="325" id="379" />
+<P2  x="622" y="360" id="381" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<CONNECTOR type="115" id="388" >
+<cdparam x="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="371" />
+<P2  x="524" y="145" id="383" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<CONNECTOR type="115" id="389" >
+<cdparam x="524" y="175" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector from notified event to choice" value="null" />
+<P1  x="524" y="175" id="384" />
+<P2  x="524" y="212" id="366" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<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 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="391" >
+<cdparam x="564" y="237" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector from choice to wait event" value="null" />
+<P1  x="564" y="237" id="368" />
+<P2  x="622" y="295" id="378" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+
+</TMLActivityDiagramPanel>
+
+<TMLActivityDiagramPanel name="TCPIP" minX="10" maxX="2900" minY="10" maxY="1900" >
+<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="395" />
+<TGConnectingPoint num="1" id="396" />
+<TGConnectingPoint num="2" id="397" />
+<TGConnectingPoint num="3" id="398" />
+</COMPONENT>
+<SUBCOMPONENT type="-1" id="392" >
+<father id="399" num="0" />
+<cdparam x="2061" y="1388" />
+<sizeparam width="12" height="15" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="-75" maxX="-20" minY="10" maxY="35" />
+<infoparam name="guard 1" value="[ ]" />
+</SUBCOMPONENT>
+<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="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" />
+<cdrectangleparam minX="20" maxX="40" minY="45" maxY="70" />
+<infoparam name="guard 3" value="[ tcpctrl.state ==10 ]" />
+</SUBCOMPONENT>
+
+<COMPONENT type="1012" id="407" >
+<cdparam x="2262" y="951" />
+<sizeparam width="30" height="30" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
+<infoparam name="choice" value="null" />
+<TGConnectingPoint num="0" id="403" />
+<TGConnectingPoint num="1" id="404" />
+<TGConnectingPoint num="2" id="405" />
+<TGConnectingPoint num="3" id="406" />
+</COMPONENT>
+<SUBCOMPONENT type="-1" id="400" >
+<father id="407" num="0" />
+<cdparam x="2212" y="961" />
+<sizeparam width="116" height="15" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="-75" maxX="-20" minY="10" maxY="35" />
+<infoparam name="guard 1" value="[ tcpctrl.state ==1 ]" />
+</SUBCOMPONENT>
+<SUBCOMPONENT type="-1" id="401" >
+<father id="407" num="1" />
+<cdparam x="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="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" />
+<cdrectangleparam minX="20" maxX="40" minY="45" maxY="70" />
+<infoparam name="guard 3" value="[ else ]" />
+</SUBCOMPONENT>
+
+<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="411" />
+<TGConnectingPoint num="1" id="412" />
+<TGConnectingPoint num="2" id="413" />
+<TGConnectingPoint num="3" id="414" />
+</COMPONENT>
+<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="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="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" />
+<cdrectangleparam minX="20" maxX="40" minY="45" maxY="70" />
+<infoparam name="guard 3" value="[ tcpctrl.state == 7 ]" />
+</SUBCOMPONENT>
+
+<COMPONENT type="1012" id="423" >
+<cdparam x="1811" y="1269" />
+<sizeparam width="30" height="30" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
+<infoparam name="choice" value="null" />
+<TGConnectingPoint num="0" id="419" />
+<TGConnectingPoint num="1" id="420" />
+<TGConnectingPoint num="2" id="421" />
+<TGConnectingPoint num="3" id="422" />
+</COMPONENT>
+<SUBCOMPONENT type="-1" id="416" >
+<father id="423" num="0" />
+<cdparam x="1762" y="1279" />
+<sizeparam width="116" height="15" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<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="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="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" />
+<cdrectangleparam minX="20" maxX="40" minY="45" maxY="70" />
+<infoparam name="guard 3" value="[ tcpctrl.state ==2 ]" />
+</SUBCOMPONENT>
+
+<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="427" />
+<TGConnectingPoint num="1" id="428" />
+<TGConnectingPoint num="2" id="429" />
+<TGConnectingPoint num="3" id="430" />
+</COMPONENT>
+<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="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="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" />
+<cdrectangleparam minX="20" maxX="40" minY="45" maxY="70" />
+<infoparam name="guard 3" value="[ ]" />
+</SUBCOMPONENT>
+
+<COMPONENT type="1013" id="435" >
+<cdparam x="1524" y="1254" />
+<sizeparam width="10" height="30" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
+<infoparam name="execI" value="null" />
+<TGConnectingPoint num="0" id="433" />
+<TGConnectingPoint num="1" id="434" />
+</COMPONENT>
+<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" />
+<cdrectangleparam minX="-75" maxX="30" minY="10" maxY="30" />
+<infoparam name="value of the delay" value="b" />
+</SUBCOMPONENT>
+
+<COMPONENT type="1013" id="439" >
+<cdparam x="1524" y="1064" />
+<sizeparam width="10" height="30" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
+<infoparam name="execI" value="null" />
+<TGConnectingPoint num="0" id="437" />
+<TGConnectingPoint num="1" id="438" />
+</COMPONENT>
+<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" />
+<cdrectangleparam minX="-75" maxX="30" minY="10" maxY="30" />
+<infoparam name="value of the delay" value="b" />
+</SUBCOMPONENT>
+
+<COMPONENT type="1012" id="447" >
+<cdparam x="1592" y="1006" />
+<sizeparam width="30" height="30" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
+<infoparam name="choice" value="null" />
+<TGConnectingPoint num="0" id="443" />
+<TGConnectingPoint num="1" id="444" />
+<TGConnectingPoint num="2" id="445" />
+<TGConnectingPoint num="3" id="446" />
+</COMPONENT>
+<SUBCOMPONENT type="-1" id="440" >
+<father id="447" num="0" />
+<cdparam x="1542" y="1016" />
+<sizeparam width="124" height="15" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="-75" maxX="-20" minY="10" maxY="35" />
+<infoparam name="guard 1" value="[ tcpctrl.state  == 4 ]" />
+</SUBCOMPONENT>
+<SUBCOMPONENT type="-1" id="441" >
+<father id="447" num="1" />
+<cdparam x="1627" y="1016" />
+<sizeparam width="39" height="15" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="35" maxX="55" minY="10" maxY="35" />
+<infoparam name="guard 2" value="[ else ]" />
+</SUBCOMPONENT>
+<SUBCOMPONENT type="-1" id="442" >
+<father id="447" num="2" />
+<cdparam x="1612" y="1051" />
+<sizeparam width="12" height="15" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="20" maxX="40" minY="45" maxY="70" />
+<infoparam name="guard 3" value="[ ]" />
+</SUBCOMPONENT>
+
+<COMPONENT type="1012" id="455" >
+<cdparam x="1713" y="875" />
+<sizeparam width="30" height="30" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
+<infoparam name="choice" value="null" />
+<TGConnectingPoint num="0" id="451" />
+<TGConnectingPoint num="1" id="452" />
+<TGConnectingPoint num="2" id="453" />
+<TGConnectingPoint num="3" id="454" />
+</COMPONENT>
+<SUBCOMPONENT type="-1" id="448" >
+<father id="455" num="0" />
+<cdparam x="1688" y="885" />
+<sizeparam width="12" height="15" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="-75" maxX="-20" minY="10" maxY="35" />
+<infoparam name="guard 1" value="[ ]" />
+</SUBCOMPONENT>
+<SUBCOMPONENT type="-1" id="449" >
+<father id="455" num="1" />
+<cdparam x="1748" y="885" />
+<sizeparam width="12" height="15" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="35" maxX="55" minY="10" maxY="35" />
+<infoparam name="guard 2" value="[ ]" />
+</SUBCOMPONENT>
+<SUBCOMPONENT type="-1" id="450" >
+<father id="455" num="2" />
+<cdparam x="1733" y="920" />
+<sizeparam width="12" height="15" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="20" maxX="40" minY="45" maxY="70" />
+<infoparam name="guard 3" value="[ ]" />
+</SUBCOMPONENT>
+
+<COMPONENT type="1013" id="459" >
+<cdparam x="1636" y="1235" />
+<sizeparam width="10" height="30" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
+<infoparam name="execI" value="null" />
+<TGConnectingPoint num="0" id="457" />
+<TGConnectingPoint num="1" id="458" />
+</COMPONENT>
+<SUBCOMPONENT type="-1" id="456" >
+<father id="459" num="0" />
+<cdparam x="1655" y="1254" />
+<sizeparam width="8" height="15" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="-75" maxX="30" minY="10" maxY="30" />
+<infoparam name="value of the delay" value="b" />
+</SUBCOMPONENT>
+
+<COMPONENT type="1013" id="463" >
+<cdparam x="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="461" />
+<TGConnectingPoint num="1" id="462" />
+</COMPONENT>
+<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" />
+<cdrectangleparam minX="-75" maxX="30" minY="10" maxY="30" />
+<infoparam name="value of the delay" value="b" />
+</SUBCOMPONENT>
+
+<COMPONENT type="1013" id="467" >
+<cdparam x="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="465" />
+<TGConnectingPoint num="1" id="466" />
+</COMPONENT>
+<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" />
+<cdrectangleparam minX="-75" maxX="30" minY="10" maxY="30" />
+<infoparam name="value of the delay" value="b" />
+</SUBCOMPONENT>
+
+<COMPONENT type="1012" id="475" >
+<cdparam x="1193" y="1020" />
+<sizeparam width="30" height="30" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
+<infoparam name="choice" value="null" />
+<TGConnectingPoint num="0" id="471" />
+<TGConnectingPoint num="1" id="472" />
+<TGConnectingPoint num="2" id="473" />
+<TGConnectingPoint num="3" id="474" />
+</COMPONENT>
+<SUBCOMPONENT type="-1" id="468" >
+<father id="475" num="0" />
+<cdparam x="1168" y="1030" />
+<sizeparam width="12" height="15" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="-75" maxX="-20" minY="10" maxY="35" />
+<infoparam name="guard 1" value="[ ]" />
+</SUBCOMPONENT>
+<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="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" />
+<cdrectangleparam minX="20" maxX="40" minY="45" maxY="70" />
+<infoparam name="guard 3" value="[ tcpctrl.state ==6 ]" />
+</SUBCOMPONENT>
+
+<COMPONENT type="1013" id="479" >
+<cdparam x="1203" y="1107" />
+<sizeparam width="10" height="30" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
+<infoparam name="execI" value="null" />
+<TGConnectingPoint num="0" id="477" />
+<TGConnectingPoint num="1" id="478" />
+</COMPONENT>
+<SUBCOMPONENT type="-1" id="476" >
+<father id="479" num="0" />
+<cdparam x="1218" y="1127" />
+<sizeparam width="8" height="15" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="-75" maxX="30" minY="10" maxY="30" />
+<infoparam name="value of the delay" value="b" />
+</SUBCOMPONENT>
+
+<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="483" />
+<TGConnectingPoint num="1" id="484" />
+<TGConnectingPoint num="2" id="485" />
+<TGConnectingPoint num="3" id="486" />
+</COMPONENT>
+<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="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="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" />
+<cdrectangleparam minX="20" maxX="40" minY="45" maxY="70" />
+<infoparam name="guard 3" value="[ ]" />
+</SUBCOMPONENT>
+
+<COMPONENT type="1013" id="491" >
+<cdparam x="717" y="694" />
+<sizeparam width="10" height="30" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
+<infoparam name="execI" value="null" />
+<TGConnectingPoint num="0" id="489" />
+<TGConnectingPoint num="1" id="490" />
+</COMPONENT>
+<SUBCOMPONENT type="-1" id="488" >
+<father id="491" num="0" />
+<cdparam x="732" y="714" />
+<sizeparam width="8" height="15" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="-75" maxX="30" minY="10" maxY="30" />
+<infoparam name="value of the delay" value="b" />
+</SUBCOMPONENT>
+
+<COMPONENT type="1013" id="495" >
+<cdparam x="938" y="1025" />
+<sizeparam width="10" height="30" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
+<infoparam name="execI" value="null" />
+<TGConnectingPoint num="0" id="493" />
+<TGConnectingPoint num="1" id="494" />
+</COMPONENT>
+<SUBCOMPONENT type="-1" id="492" >
+<father id="495" num="0" />
+<cdparam x="953" y="1045" />
+<sizeparam width="8" height="15" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="-75" maxX="30" minY="10" maxY="30" />
+<infoparam name="value of the delay" value="b" />
+</SUBCOMPONENT>
+
+<COMPONENT type="1012" id="503" >
+<cdparam x="1034" y="939" />
+<sizeparam width="30" height="30" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
+<infoparam name="choice" value="null" />
+<TGConnectingPoint num="0" id="499" />
+<TGConnectingPoint num="1" id="500" />
+<TGConnectingPoint num="2" id="501" />
+<TGConnectingPoint num="3" id="502" />
+</COMPONENT>
+<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="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="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" />
+<cdrectangleparam minX="20" maxX="40" minY="45" maxY="70" />
+<infoparam name="guard 3" value="[ tcpctrl.state == 5]" />
+</SUBCOMPONENT>
+
+<COMPONENT type="1013" id="507" >
+<cdparam x="795" y="1009" />
+<sizeparam width="10" height="30" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
+<infoparam name="execI" value="null" />
+<TGConnectingPoint num="0" id="505" />
+<TGConnectingPoint num="1" id="506" />
+</COMPONENT>
+<SUBCOMPONENT type="-1" id="504" >
+<father id="507" num="0" />
+<cdparam x="818" y="1031" />
+<sizeparam width="8" height="15" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="-75" maxX="30" minY="10" maxY="30" />
+<infoparam name="value of the delay" value="b" />
+</SUBCOMPONENT>
+
+<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="511" />
+<TGConnectingPoint num="1" id="512" />
+<TGConnectingPoint num="2" id="513" />
+<TGConnectingPoint num="3" id="514" />
+</COMPONENT>
+<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="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="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" />
+<cdrectangleparam minX="20" maxX="40" minY="45" maxY="70" />
+<infoparam name="guard 3" value="[ tcpctrl.state==0 ]" />
+</SUBCOMPONENT>
+
+<COMPONENT type="1013" id="519" >
+<cdparam x="341" y="764" />
+<sizeparam width="10" height="30" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
+<infoparam name="execI" value="null" />
+<TGConnectingPoint num="0" id="517" />
+<TGConnectingPoint num="1" id="518" />
+</COMPONENT>
+<SUBCOMPONENT type="-1" id="516" >
+<father id="519" num="0" />
+<cdparam x="354" y="785" />
+<sizeparam width="8" height="15" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="-75" maxX="30" minY="10" maxY="30" />
+<infoparam name="value of the delay" value="b" />
+</SUBCOMPONENT>
+
+<COMPONENT type="1013" id="523" >
+<cdparam x="127" y="794" />
+<sizeparam width="10" height="30" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
+<infoparam name="execI" value="null" />
+<TGConnectingPoint num="0" id="521" />
+<TGConnectingPoint num="1" id="522" />
+</COMPONENT>
+<SUBCOMPONENT type="-1" id="520" >
+<father id="523" num="0" />
+<cdparam x="146" y="818" />
+<sizeparam width="8" height="15" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="-75" maxX="30" minY="10" maxY="30" />
+<infoparam name="value of the delay" value="b" />
+</SUBCOMPONENT>
+
+<COMPONENT type="1012" id="531" >
+<cdparam x="993" y="780" />
+<sizeparam width="30" height="30" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
+<infoparam name="choice" value="null" />
+<TGConnectingPoint num="0" id="527" />
+<TGConnectingPoint num="1" id="528" />
+<TGConnectingPoint num="2" id="529" />
+<TGConnectingPoint num="3" id="530" />
+</COMPONENT>
+<SUBCOMPONENT type="-1" id="524" >
+<father id="531" num="0" />
+<cdparam x="949" y="793" />
+<sizeparam width="12" height="15" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="-75" maxX="-20" minY="10" maxY="35" />
+<infoparam name="guard 1" value="[ ]" />
+</SUBCOMPONENT>
+<SUBCOMPONENT type="-1" id="525" >
+<father id="531" num="1" />
+<cdparam x="1028" y="790" />
+<sizeparam width="12" height="15" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="35" maxX="55" minY="10" maxY="35" />
+<infoparam name="guard 2" value="[ ]" />
+</SUBCOMPONENT>
+<SUBCOMPONENT type="-1" id="526" >
+<father id="531" num="2" />
+<cdparam x="1013" y="825" />
+<sizeparam width="12" height="15" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="20" maxX="40" minY="45" maxY="70" />
+<infoparam name="guard 3" value="[ ]" />
+</SUBCOMPONENT>
+
+<COMPONENT type="1013" id="535" >
+<cdparam x="1003" y="701" />
+<sizeparam width="10" height="30" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
+<infoparam name="execI" value="null" />
+<TGConnectingPoint num="0" id="533" />
+<TGConnectingPoint num="1" id="534" />
+</COMPONENT>
+<SUBCOMPONENT type="-1" id="532" >
+<father id="535" num="0" />
+<cdparam x="1018" y="721" />
+<sizeparam width="8" height="15" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="-75" maxX="30" minY="10" maxY="30" />
+<infoparam name="value of the delay" value="b" />
+</SUBCOMPONENT>
+
+<COMPONENT type="1013" id="539" >
+<cdparam x="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="537" />
+<TGConnectingPoint num="1" id="538" />
+</COMPONENT>
+<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" />
+<cdrectangleparam minX="-75" maxX="30" minY="10" maxY="30" />
+<infoparam name="value of the delay" value="b" />
+</SUBCOMPONENT>
+
+<COMPONENT type="1013" id="543" >
+<cdparam x="225" y="863" />
+<sizeparam width="10" height="30" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
+<infoparam name="execI" value="null" />
+<TGConnectingPoint num="0" id="541" />
+<TGConnectingPoint num="1" id="542" />
+</COMPONENT>
+<SUBCOMPONENT type="-1" id="540" >
+<father id="543" num="0" />
+<cdparam x="245" y="885" />
+<sizeparam width="8" height="15" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="-75" maxX="30" minY="10" maxY="30" />
+<infoparam name="value of the delay" value="b" />
+</SUBCOMPONENT>
+
+<COMPONENT type="1013" id="547" >
+<cdparam x="1044" y="1057" />
+<sizeparam width="10" height="30" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
+<infoparam name="execI" value="null" />
+<TGConnectingPoint num="0" id="545" />
+<TGConnectingPoint num="1" id="546" />
+</COMPONENT>
+<SUBCOMPONENT type="-1" id="544" >
+<father id="547" num="0" />
+<cdparam x="1059" y="1077" />
+<sizeparam width="8" height="15" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="-75" maxX="30" minY="10" maxY="30" />
+<infoparam name="value of the delay" value="b" />
+</SUBCOMPONENT>
+
+<COMPONENT type="1012" id="555" >
+<cdparam x="173" y="486" />
+<sizeparam width="30" height="30" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
+<infoparam name="choice" value="null" />
+<TGConnectingPoint num="0" id="551" />
+<TGConnectingPoint num="1" id="552" />
+<TGConnectingPoint num="2" id="553" />
+<TGConnectingPoint num="3" id="554" />
+</COMPONENT>
+<SUBCOMPONENT type="-1" id="548" >
+<father id="555" num="0" />
+<cdparam x="98" y="496" />
+<sizeparam width="112" height="15" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="-75" maxX="-20" minY="10" maxY="35" />
+<infoparam name="guard 1" value="[ tcpctrl.state==0 ]" />
+</SUBCOMPONENT>
+<SUBCOMPONENT type="-1" id="549" >
+<father id="555" num="1" />
+<cdparam x="208" y="496" />
+<sizeparam width="39" height="15" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="35" maxX="55" minY="10" maxY="35" />
+<infoparam name="guard 2" value="[ else ]" />
+</SUBCOMPONENT>
+<SUBCOMPONENT type="-1" id="550" >
+<father id="555" num="2" />
+<cdparam x="193" y="531" />
+<sizeparam width="12" height="15" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="20" maxX="40" minY="45" maxY="70" />
+<infoparam name="guard 3" value="[ ]" />
+</SUBCOMPONENT>
+
+<COMPONENT type="1012" id="563" >
+<cdparam x="359" y="192" />
+<sizeparam width="30" height="30" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
+<infoparam name="choice" value="null" />
+<TGConnectingPoint num="0" id="559" />
+<TGConnectingPoint num="1" id="560" />
+<TGConnectingPoint num="2" id="561" />
+<TGConnectingPoint num="3" id="562" />
+</COMPONENT>
+<SUBCOMPONENT type="-1" id="556" >
+<father id="563" num="0" />
+<cdparam x="317" y="202" />
+<sizeparam width="81" height="15" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="-75" maxX="-20" minY="10" maxY="35" />
+<infoparam name="guard 1" value="[ tcpctrl.a&gt;0 ]" />
+</SUBCOMPONENT>
+<SUBCOMPONENT type="-1" id="557" >
+<father id="563" num="1" />
+<cdparam x="394" y="202" />
+<sizeparam width="91" height="15" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="35" maxX="55" minY="10" maxY="35" />
+<infoparam name="guard 2" value="[ tcpctrl.a==0 ]" />
+</SUBCOMPONENT>
+<SUBCOMPONENT type="-1" id="558" >
+<father id="563" num="2" />
+<cdparam x="379" y="237" />
+<sizeparam width="12" height="15" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="20" maxX="40" minY="45" maxY="70" />
+<infoparam name="guard 3" value="[ ]" />
+</SUBCOMPONENT>
+
+<COMPONENT type="1012" id="571" >
+<cdparam x="449" y="582" />
+<sizeparam width="30" height="30" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
+<infoparam name="choice" value="null" />
+<TGConnectingPoint num="0" id="567" />
+<TGConnectingPoint num="1" id="568" />
+<TGConnectingPoint num="2" id="569" />
+<TGConnectingPoint num="3" id="570" />
+</COMPONENT>
+<SUBCOMPONENT type="-1" id="564" >
+<father id="571" num="0" />
+<cdparam x="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="565" >
+<father id="571" num="1" />
+<cdparam x="500" y="599" />
+<sizeparam width="39" height="15" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="35" maxX="55" minY="10" maxY="35" />
+<infoparam name="guard 2" value="[ else ]" />
+</SUBCOMPONENT>
+<SUBCOMPONENT type="-1" id="566" >
+<father id="571" num="2" />
+<cdparam x="469" y="627" />
+<sizeparam width="252" height="15" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="20" maxX="40" minY="45" maxY="70" />
+<infoparam name="guard 3" value="[ (tcpctrl.state ==2) or (tcpctrl.state ==4) ]" />
+</SUBCOMPONENT>
+
+<COMPONENT type="1012" id="579" >
+<cdparam x="274" y="564" />
+<sizeparam width="30" height="30" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
+<infoparam name="choice" value="null" />
+<TGConnectingPoint num="0" id="575" />
+<TGConnectingPoint num="1" id="576" />
+<TGConnectingPoint num="2" id="577" />
+<TGConnectingPoint num="3" id="578" />
+</COMPONENT>
+<SUBCOMPONENT type="-1" id="572" >
+<father id="579" num="0" />
+<cdparam x="228" y="574" />
+<sizeparam width="116" height="15" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="-75" maxX="-20" minY="10" maxY="35" />
+<infoparam name="guard 1" value="[ tcpctrl.state == 1]" />
+</SUBCOMPONENT>
+<SUBCOMPONENT type="-1" id="573" >
+<father id="579" num="1" />
+<cdparam x="317" y="584" />
+<sizeparam width="39" height="15" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="35" maxX="55" minY="10" maxY="35" />
+<infoparam name="guard 2" value="[ else ]" />
+</SUBCOMPONENT>
+<SUBCOMPONENT type="-1" id="574" >
+<father id="579" num="2" />
+<cdparam x="294" y="613" />
+<sizeparam width="116" height="15" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="20" maxX="40" minY="45" maxY="70" />
+<infoparam name="guard 3" value="[ tcpctrl.state ==4 ]" />
+</SUBCOMPONENT>
+
+<COMPONENT type="1000" id="581" >
+<cdparam x="227" y="27" />
+<sizeparam width="15" height="15" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
+<infoparam name="start state" value="null" />
+<TGConnectingPoint num="0" id="580" />
+</COMPONENT>
+
+<COMPONENT type="301" id="598" >
+<cdparam x="10" y="30" />
+<sizeparam width="92" height="135" minWidth="50" minHeight="20" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
+<infoparam name="UML Note" value="0: closed
+1: Listen
+2: SYN rcvd
+3: SYN sent
+4: Estab
+5: Fin wait1
+6: Fin wait2
+7: closing
+8: Time wait
+9: close wait
+10:last ack
+" />
+<TGConnectingPoint num="0" id="582" />
+<TGConnectingPoint num="1" id="583" />
+<TGConnectingPoint num="2" id="584" />
+<TGConnectingPoint num="3" id="585" />
+<TGConnectingPoint num="4" id="586" />
+<TGConnectingPoint num="5" id="587" />
+<TGConnectingPoint num="6" id="588" />
+<TGConnectingPoint num="7" id="589" />
+<TGConnectingPoint num="8" id="590" />
+<TGConnectingPoint num="9" id="591" />
+<TGConnectingPoint num="10" id="592" />
+<TGConnectingPoint num="11" id="593" />
+<TGConnectingPoint num="12" id="594" />
+<TGConnectingPoint num="13" id="595" />
+<TGConnectingPoint num="14" id="596" />
+<TGConnectingPoint num="15" id="597" />
+<extraparam>
+<Line value="0: closed" />
+<Line value="1: Listen" />
+<Line value="2: SYN rcvd" />
+<Line value="3: SYN sent" />
+<Line value="4: Estab" />
+<Line value="5: Fin wait1" />
+<Line value="6: Fin wait2" />
+<Line value="7: closing" />
+<Line value="8: Time wait" />
+<Line value="9: close wait" />
+<Line value="10:last ack" />
+</extraparam>
+</COMPONENT>
+
+<COMPONENT type="1011" id="601" >
+<cdparam x="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="599" />
+<TGConnectingPoint num="1" id="600" />
+</COMPONENT>
+
+<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="602" />
+</COMPONENT>
+
+<COMPONENT type="1009" id="606" >
+<cdparam x="967" y="585" />
+<sizeparam width="83" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
+<infoparam name="read channel" value="fromPtoT(1) " />
+<TGConnectingPoint num="0" id="604" />
+<TGConnectingPoint num="1" id="605" />
+<extraparam>
+<Data channelName="fromPtoT" nbOfSamples="1" secPattern="" isAttacker="No" />
+</extraparam>
+</COMPONENT>
+
+<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="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="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="611" />
+</COMPONENT>
+
+<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="613" />
+<TGConnectingPoint num="1" id="614" />
+</COMPONENT>
+
+<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="616" />
+<TGConnectingPoint num="1" id="617" />
+<extraparam>
+<Data eventName="abort" variable="tcpctrl.a" />
+</extraparam>
+</COMPONENT>
+
+<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="619" />
+<TGConnectingPoint num="1" id="620" />
+<extraparam>
+<Data channelName="temp" nbOfSamples="1" secPattern="" isAttacker="No" />
+</extraparam>
+</COMPONENT>
+
+<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="622" />
+<TGConnectingPoint num="1" id="623" />
+<extraparam>
+<Data eventName="timeOut" nbOfParams="5" />
+</extraparam>
+</COMPONENT>
+
+<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="625" />
+<TGConnectingPoint num="1" id="626" />
+<extraparam>
+<Data eventName="receive" nbOfParams="5" />
+</extraparam>
+</COMPONENT>
+
+<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="628" />
+<TGConnectingPoint num="1" id="629" />
+<extraparam>
+<Data eventName="close" nbOfParams="5" />
+</extraparam>
+</COMPONENT>
+
+<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="631" />
+<TGConnectingPoint num="1" id="632" />
+<extraparam>
+<Data eventName="send_TCP" nbOfParams="5" />
+</extraparam>
+</COMPONENT>
+
+<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="634" />
+<TGConnectingPoint num="1" id="635" />
+<breakpoint />
+<extraparam>
+<Data eventName="open" nbOfParams="5" />
+</extraparam>
+</COMPONENT>
+
+<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="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="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="648" />
+</COMPONENT>
+
+<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="650" />
+</COMPONENT>
+
+<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="652" />
+<TGConnectingPoint num="1" id="653" />
+<extraparam>
+<Data eventName="abort" nbOfParams="5" />
+</extraparam>
+</COMPONENT>
+
+<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="655" />
+</COMPONENT>
+
+<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" />
+<cdrectangleparam minX="10" maxX="2900" minY="10" maxY="1900" />
+<infoparam name="UML Note" value="b est le nombre d&apos;instructions necessaires pour paquetiser
+ou depaquitiser un paquet TCP
+
+On prend b=1 comme exemple
+" />
+<TGConnectingPoint num="0" id="657" />
+<TGConnectingPoint num="1" id="658" />
+<TGConnectingPoint num="2" id="659" />
+<TGConnectingPoint num="3" id="660" />
+<TGConnectingPoint num="4" id="661" />
+<TGConnectingPoint num="5" id="662" />
+<TGConnectingPoint num="6" id="663" />
+<TGConnectingPoint num="7" id="664" />
+<TGConnectingPoint num="8" id="665" />
+<TGConnectingPoint num="9" id="666" />
+<TGConnectingPoint num="10" id="667" />
+<TGConnectingPoint num="11" id="668" />
+<TGConnectingPoint num="12" id="669" />
+<TGConnectingPoint num="13" id="670" />
+<TGConnectingPoint num="14" id="671" />
+<TGConnectingPoint num="15" id="672" />
+<extraparam>
+<Line value="b est le nombre d&apos;instructions necessaires pour paquetiser" />
+<Line value="ou depaquitiser un paquet TCP" />
+<Line value="" />
+<Line value="On prend b=1 comme exemple" />
+</extraparam>
+</COMPONENT>
+
+<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="674" />
+<TGConnectingPoint num="1" id="675" />
+<extraparam>
+<Data channelName="fromAtoT" nbOfSamples="1" secPattern="" isAttacker="No" />
+</extraparam>
+</COMPONENT>
+
+<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="677" />
+<TGConnectingPoint num="1" id="678" />
+<extraparam>
+<Data channelName="fromTtoP" nbOfSamples="1" secPattern="" isAttacker="No" />
+</extraparam>
+</COMPONENT>
+
+<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="680" />
+</COMPONENT>
+
+<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="682" />
+<TGConnectingPoint num="1" id="683" />
+</COMPONENT>
+
+<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="685" />
+</COMPONENT>
+
+<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="687" />
+<TGConnectingPoint num="1" id="688" />
+</COMPONENT>
+
+<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="690" />
+<TGConnectingPoint num="1" id="691" />
+<extraparam>
+<Data channelName="fromTtoP" nbOfSamples="1" secPattern="" isAttacker="No" />
+</extraparam>
+</COMPONENT>
+
+<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="693" />
+<TGConnectingPoint num="1" id="694" />
+</COMPONENT>
+
+<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="696" />
+</COMPONENT>
+
+<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="698" />
+<TGConnectingPoint num="1" id="699" />
+<extraparam>
+<Data channelName="fromTtoP" nbOfSamples="1" secPattern="" isAttacker="No" />
+</extraparam>
+</COMPONENT>
+
+<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="701" />
+<TGConnectingPoint num="1" id="702" />
+<extraparam>
+<Data channelName="fromTtoP" nbOfSamples="1" secPattern="" isAttacker="No" />
+</extraparam>
+</COMPONENT>
+
+<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="704" />
+</COMPONENT>
+
+<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="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="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="723" />
+<TGConnectingPoint num="1" id="724" />
+</COMPONENT>
+
+<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="726" />
+</COMPONENT>
+
+<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="728" />
+<TGConnectingPoint num="1" id="729" />
+<extraparam>
+<Data channelName="fromTtoP" nbOfSamples="1" secPattern="" isAttacker="No" />
+</extraparam>
+</COMPONENT>
+
+<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="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="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="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="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="765" />
+<TGConnectingPoint num="1" id="766" />
+</COMPONENT>
+
+<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="768" />
+<TGConnectingPoint num="1" id="769" />
+</COMPONENT>
+
+<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="771" />
+</COMPONENT>
+
+<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="773" />
+<TGConnectingPoint num="1" id="774" />
+<extraparam>
+<Data channelName="fromTtoP" nbOfSamples="1" secPattern="" isAttacker="No" />
+</extraparam>
+</COMPONENT>
+
+<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="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="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="793" />
+<TGConnectingPoint num="1" id="794" />
+</COMPONENT>
+
+<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="796" />
+</COMPONENT>
+
+<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="798" />
+<TGConnectingPoint num="1" id="799" />
+<extraparam>
+<Data channelName="fromTtoP" nbOfSamples="1" secPattern="" isAttacker="No" />
+</extraparam>
+</COMPONENT>
+
+<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="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="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="818" />
+<TGConnectingPoint num="1" id="819" />
+</COMPONENT>
+
+<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="821" />
+</COMPONENT>
+
+<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="823" />
+<TGConnectingPoint num="1" id="824" />
+<extraparam>
+<Data channelName="fromTtoP" nbOfSamples="1" secPattern="" isAttacker="No" />
+</extraparam>
+</COMPONENT>
+
+<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="826" />
+</COMPONENT>
+
+<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="828" />
+<TGConnectingPoint num="1" id="829" />
+<extraparam>
+<Data requestName="req_Timer" nbOfParams="5" />
+</extraparam>
+</COMPONENT>
+
+<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="831" />
+<TGConnectingPoint num="1" id="832" />
+<extraparam>
+<Data channelName="temp" nbOfSamples="1" secPattern="" isAttacker="No" />
+</extraparam>
+</COMPONENT>
+
+<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="834" />
+</COMPONENT>
+
+<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="836" />
+<TGConnectingPoint num="1" id="837" />
+<extraparam>
+<Data requestName="req_Timer" nbOfParams="5" />
+</extraparam>
+</COMPONENT>
+
+<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="839" />
+<TGConnectingPoint num="1" id="840" />
+<extraparam>
+<Data channelName="temp" nbOfSamples="1" secPattern="" isAttacker="No" />
+</extraparam>
+</COMPONENT>
+
+<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="842" />
+<TGConnectingPoint num="1" id="843" />
+<extraparam>
+<Data requestName="req_Timer" nbOfParams="5" />
+</extraparam>
+</COMPONENT>
+
+<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="845" />
+<TGConnectingPoint num="1" id="846" />
+<extraparam>
+<Data channelName="temp" nbOfSamples="1" secPattern="" isAttacker="No" />
+</extraparam>
+</COMPONENT>
+
+<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="848" />
+<TGConnectingPoint num="1" id="849" />
+<extraparam>
+<Data requestName="req_Timer" nbOfParams="5" />
+</extraparam>
+</COMPONENT>
+
+<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="851" />
+<TGConnectingPoint num="1" id="852" />
+<extraparam>
+<Data channelName="temp" nbOfSamples="1" secPattern="" isAttacker="No" />
+</extraparam>
+</COMPONENT>
+
+<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="854" />
+<TGConnectingPoint num="1" id="855" />
+</COMPONENT>
+
+<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="857" />
+<TGConnectingPoint num="1" id="858" />
+</COMPONENT>
+
+<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="860" />
+<TGConnectingPoint num="1" id="861" />
+</COMPONENT>
+
+<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="863" />
+<TGConnectingPoint num="1" id="864" />
+</COMPONENT>
+
+<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="866" />
+<TGConnectingPoint num="1" id="867" />
+<extraparam>
+<Data eventName="send" nbOfParams="5" />
+</extraparam>
+</COMPONENT>
+
+<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="869" />
+<TGConnectingPoint num="1" id="870" />
+<extraparam>
+<Data eventName="send" nbOfParams="5" />
+</extraparam>
+</COMPONENT>
+
+<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="872" />
+<TGConnectingPoint num="1" id="873" />
+<extraparam>
+<Data eventName="send" nbOfParams="5" />
+</extraparam>
+</COMPONENT>
+
+<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="875" />
+<TGConnectingPoint num="1" id="876" />
+<extraparam>
+<Data eventName="send" nbOfParams="5" />
+</extraparam>
+</COMPONENT>
+
+<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="878" />
+<TGConnectingPoint num="1" id="879" />
+<extraparam>
+<Data eventName="send" nbOfParams="5" />
+</extraparam>
+</COMPONENT>
+
+<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="881" />
+<TGConnectingPoint num="1" id="882" />
+<extraparam>
+<Data eventName="send" nbOfParams="5" />
+</extraparam>
+</COMPONENT>
+
+<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="884" />
+<TGConnectingPoint num="1" id="885" />
+<extraparam>
+<Data eventName="send" nbOfParams="5" />
+</extraparam>
+</COMPONENT>
+
+<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="887" />
+<TGConnectingPoint num="1" id="888" />
+<extraparam>
+<Data eventName="send" nbOfParams="5" />
+</extraparam>
+</COMPONENT>
+
+<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="890" />
+</COMPONENT>
+
+<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="892" />
+</COMPONENT>
+
+<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="894" />
+<TGConnectingPoint num="1" id="895" />
+<extraparam>
+<Data channelName="fromTtoP" nbOfSamples="1" secPattern="" isAttacker="No" />
+</extraparam>
+</COMPONENT>
+
+<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="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="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="914" />
+<TGConnectingPoint num="1" id="915" />
+</COMPONENT>
+
+<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="917" />
+</COMPONENT>
+
+<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="919" />
+<TGConnectingPoint num="1" id="920" />
+</COMPONENT>
+
+<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="922" />
+<TGConnectingPoint num="1" id="923" />
+<extraparam>
+<Data eventName="send" nbOfParams="5" />
+</extraparam>
+</COMPONENT>
+
+<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="925" />
+</COMPONENT>
+
+<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="927" />
+</COMPONENT>
+
+<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="929" />
+<TGConnectingPoint num="1" id="930" />
+<extraparam>
+<Data channelName="fromTtoA" nbOfSamples="1" secPattern="" isAttacker="No" />
+</extraparam>
+</COMPONENT>
+
+<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="932" />
+<TGConnectingPoint num="1" id="933" />
+<extraparam>
+<Data channelName="fromTtoP" nbOfSamples="1" secPattern="" isAttacker="No" />
+</extraparam>
+</COMPONENT>
+
+<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="935" />
+<TGConnectingPoint num="1" id="936" />
+<extraparam>
+<Data eventName="stop" nbOfParams="5" />
+</extraparam>
+</COMPONENT>
+
+<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="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="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="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="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="972" />
+<TGConnectingPoint num="1" id="973" />
+<extraparam>
+<Data channelName="fromTtoP" nbOfSamples="1" secPattern="" isAttacker="No" />
+</extraparam>
+</COMPONENT>
+
+<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="975" />
+</COMPONENT>
+
+<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="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="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="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="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="1011" />
+<TGConnectingPoint num="1" id="1012" />
+<extraparam>
+<Data eventName="send" nbOfParams="5" />
+</extraparam>
+</COMPONENT>
+
+<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="1014" />
+<TGConnectingPoint num="1" id="1015" />
+<extraparam>
+<Data eventName="send" nbOfParams="5" />
+</extraparam>
+</COMPONENT>
+
+<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="1017" />
+<TGConnectingPoint num="1" id="1018" />
+<extraparam>
+<Data channelName="temp" nbOfSamples="1" secPattern="" isAttacker="No" />
+</extraparam>
+</COMPONENT>
+
+<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="1020" />
+</COMPONENT>
+
+<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="1022" />
+<TGConnectingPoint num="1" id="1023" />
+</COMPONENT>
+
+<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="1025" />
+</COMPONENT>
+
+<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="1027" />
+<TGConnectingPoint num="1" id="1028" />
+</COMPONENT>
+
+<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="1030" />
+</COMPONENT>
+
+<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="1032" />
+</COMPONENT>
+
+<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="1034" />
+<TGConnectingPoint num="1" id="1035" />
+</COMPONENT>
+
+<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="1037" />
+</COMPONENT>
+
+<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="1039" />
+<TGConnectingPoint num="1" id="1040" />
+</COMPONENT>
+
+<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="1042" />
+<TGConnectingPoint num="1" id="1043" />
+</COMPONENT>
+
+<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="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="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="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="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="1079" />
+<TGConnectingPoint num="1" id="1080" />
+<extraparam>
+<Data channelName="fromTtoP" nbOfSamples="1" secPattern="" isAttacker="No" />
+</extraparam>
+</COMPONENT>
+
+<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="1082" />
+</COMPONENT>
+
+<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="1084" />
+<TGConnectingPoint num="1" id="1085" />
+<extraparam>
+<Data requestName="req_Timer" nbOfParams="5" />
+</extraparam>
+</COMPONENT>
+
+<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="1087" />
+<TGConnectingPoint num="1" id="1088" />
+<extraparam>
+<Data channelName="temp" nbOfSamples="1" secPattern="" isAttacker="No" />
+</extraparam>
+</COMPONENT>
+
+<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="1090" />
+<TGConnectingPoint num="1" id="1091" />
+</COMPONENT>
+
+<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="1093" />
+<TGConnectingPoint num="1" id="1094" />
+<extraparam>
+<Data eventName="send" nbOfParams="5" />
+</extraparam>
+</COMPONENT>
+
+<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="1096" />
+<TGConnectingPoint num="1" id="1097" />
+</COMPONENT>
+
+<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="1099" />
+<TGConnectingPoint num="1" id="1100" />
+<extraparam>
+<Data channelName="fromTtoP" nbOfSamples="1" secPattern="" isAttacker="No" />
+</extraparam>
+</COMPONENT>
+
+<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="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="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="1119" />
+<TGConnectingPoint num="1" id="1120" />
+</COMPONENT>
+
+<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="1122" />
+</COMPONENT>
+
+<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="1124" />
+<TGConnectingPoint num="1" id="1125" />
+<extraparam>
+<Data eventName="send" nbOfParams="5" />
+</extraparam>
+</COMPONENT>
+
+<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="1127" />
+</COMPONENT>
+
+<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="1129" />
+</COMPONENT>
+
+<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="1131" />
+</COMPONENT>
+
+<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="1133" />
+<TGConnectingPoint num="1" id="1134" />
+<extraparam>
+<Data eventName="receive_Application" nbOfParams="5" />
+</extraparam>
+</COMPONENT>
+
+<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="1136" />
+<TGConnectingPoint num="1" id="1137" />
+<extraparam>
+<Data channelName="temp" nbOfSamples="1" secPattern="" isAttacker="No" />
+</extraparam>
+</COMPONENT>
+
+<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="529" />
+<P2  x="1728" y="865" id="451" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<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="501" />
+<P2  x="1208" y="1010" id="471" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<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="605" />
+<P2  x="1008" y="696" id="533" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<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="620" />
+<P2  x="722" y="689" id="489" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<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="569" />
+<P2  x="572" y="702" id="483" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<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="570" />
+<P2  x="439" y="778" id="537" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<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="568" />
+<P2  x="346" y="759" id="517" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<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="578" />
+<P2  x="230" y="803" id="674" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<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="576" />
+<P2  x="132" y="789" id="521" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<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="608" />
+<P2  x="374" y="128" id="616" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<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="614" />
+<P2  x="234" y="202" id="611" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<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="609" />
+<P2  x="234" y="139" id="613" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<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="580" />
+<P2  x="235" y="80" id="607" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<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="617" />
+<P2  x="374" y="182" id="559" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<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="643" />
+<P2  x="722" y="529" id="622" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<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="623" />
+<P2  x="722" y="584" id="619" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<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="639" />
+<P2  x="1008" y="523" id="625" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<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="626" />
+<P2  x="1008" y="580" id="604" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<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="640" />
+<P2  x="464" y="487" id="628" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<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="641" />
+<P2  x="289" y="463" id="631" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<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="632" />
+<P2  x="289" y="554" id="575" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<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="552" />
+<P2  x="126" y="544" id="599" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<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="638" />
+<P2  x="188" y="414" id="634" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<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="635" />
+<P2  x="188" y="476" id="551" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<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="553" />
+<P2  x="236" y="524" id="648" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<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="560" />
+<P2  x="301" y="223" id="652" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<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="653" />
+<P2  x="301" y="285" id="655" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<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="629" />
+<P2  x="464" y="572" id="567" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<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="577" />
+<P2  x="353" y="609" id="650" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<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="600" />
+<P2  x="126" y="610" id="602" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<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="561" />
+<P2  x="464" y="257" id="637" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<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="675" />
+<P2  x="230" y="858" id="541" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<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="528" />
+<P2  x="843" y="859" id="511" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<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="724" />
+<P2  x="728" y="1027" id="726" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<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="512" />
+<P2  x="728" y="960" id="723" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<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="514" />
+<P2  x="800" y="1004" id="505" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<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="506" />
+<P2  x="800" y="1081" id="728" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<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="855" />
+<P2  x="132" y="933" id="690" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<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="494" />
+<P2  x="943" y="1118" id="773" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<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="546" />
+<P2  x="1049" y="1150" id="798" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<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="502" />
+<P2  x="1049" y="1052" id="545" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<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="490" />
+<P2  x="722" y="753" id="823" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<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="829" />
+<P2  x="132" y="1162" id="831" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<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="832" />
+<P2  x="132" y="1231" id="834" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<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="688" />
+<P2  x="132" y="1095" id="828" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<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="837" />
+<P2  x="229" y="1164" id="839" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<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="843" />
+<P2  x="346" y="1168" id="845" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<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="694" />
+<P2  x="346" y="1101" id="842" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<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="849" />
+<P2  x="438" y="1154" id="851" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<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="683" />
+<P2  x="438" y="1085" id="848" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<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="522" />
+<P2  x="132" y="856" id="854" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<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="542" />
+<P2  x="230" y="935" id="857" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<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="858" />
+<P2  x="230" y="997" id="677" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<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="518" />
+<P2  x="346" y="826" id="863" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<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="864" />
+<P2  x="346" y="895" id="701" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<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="538" />
+<P2  x="439" y="860" id="860" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<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="861" />
+<P2  x="439" y="936" id="698" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<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="691" />
+<P2  x="132" y="981" id="875" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<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="876" />
+<P2  x="132" y="1036" id="687" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<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="678" />
+<P2  x="229" y="1047" id="866" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<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="867" />
+<P2  x="229" y="1097" id="836" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<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="702" />
+<P2  x="346" y="957" id="869" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<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="870" />
+<P2  x="346" y="1021" id="693" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<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="699" />
+<P2  x="438" y="978" id="872" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<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="873" />
+<P2  x="438" y="1027" id="682" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<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="824" />
+<P2  x="722" y="808" id="878" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<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="879" />
+<P2  x="722" y="860" id="826" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<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="729" />
+<P2  x="798" y="1136" id="881" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<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="882" />
+<P2  x="799" y="1188" id="765" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<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="774" />
+<P2  x="943" y="1173" id="884" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<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="885" />
+<P2  x="943" y="1229" id="793" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<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="799" />
+<P2  x="1049" y="1206" id="887" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<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="888" />
+<P2  x="1049" y="1261" id="818" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<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="513" />
+<P2  x="909" y="917" id="892" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<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="485" />
+<P2  x="622" y="757" id="890" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<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="484" />
+<P2  x="496" y="763" id="768" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<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="766" />
+<P2  x="799" y="1265" id="704" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<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="500" />
+<P2  x="943" y="1020" id="493" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<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="840" />
+<P2  x="229" y="1232" id="680" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<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="846" />
+<P2  x="344" y="1224" id="696" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<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="852" />
+<P2  x="438" y="1208" id="685" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<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="769" />
+<P2  x="496" y="825" id="771" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<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="794" />
+<P2  x="943" y="1306" id="796" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<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="534" />
+<P2  x="1008" y="770" id="527" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<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="530" />
+<P2  x="1049" y="929" id="499" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<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="819" />
+<P2  x="1049" y="1336" id="821" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<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="478" />
+<P2  x="1208" y="1209" id="894" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<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="895" />
+<P2  x="1208" y="1290" id="914" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<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="915" />
+<P2  x="1208" y="1346" id="922" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<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="923" />
+<P2  x="1207" y="1397" id="919" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<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="474" />
+<P2  x="1208" y="1102" id="477" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<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="473" />
+<P2  x="1287" y="1065" id="925" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<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="920" />
+<P2  x="1207" y="1466" id="917" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<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="444" />
+<P2  x="1529" y="1059" id="437" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<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="434" />
+<P2  x="1529" y="1343" id="932" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<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="454" />
+<P2  x="1731" y="1021" id="935" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<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="458" />
+<P2  x="1641" y="1294" id="972" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<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="973" />
+<P2  x="1642" y="1343" id="1014" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<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="933" />
+<P2  x="1529" y="1400" id="1011" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<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="1012" />
+<P2  x="1529" y="1452" id="927" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<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="1015" />
+<P2  x="1642" y="1399" id="1017" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<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="412" />
+<P2  x="1920" y="1406" id="1027" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<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="1035" />
+<P2  x="2101" y="1532" id="1037" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<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="414" />
+<P2  x="1996" y="1429" id="1042" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<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="1043" />
+<P2  x="1996" y="1488" id="1039" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<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="404" />
+<P2  x="2218" y="1054" id="461" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<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="1085" />
+<P2  x="2217" y="1360" id="1087" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<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="462" />
+<P2  x="2218" y="1131" id="1090" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<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="1091" />
+<P2  x="2218" y="1193" id="1079" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<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="1080" />
+<P2  x="2217" y="1243" id="1093" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<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="1094" />
+<P2  x="2217" y="1293" id="1084" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<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="1088" />
+<P2  x="2217" y="1419" id="1096" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<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="466" />
+<P2  x="2341" y="1117" id="1099" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<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="438" />
+<P2  x="1529" y="1127" id="929" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<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="398" />
+<P2  x="2101" y="1461" id="1034" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<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="397" />
+<P2  x="2178" y="1416" id="1129" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<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="452" />
+<P2  x="1607" y="996" id="443" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<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="453" />
+<P2  x="2277" y="941" id="403" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<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="405" />
+<P2  x="2341" y="1019" id="465" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<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="1100" />
+<P2  x="2341" y="1194" id="1124" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<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="1125" />
+<P2  x="2341" y="1262" id="1119" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<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="936" />
+<P2  x="1731" y="1081" id="1136" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<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="445" />
+<P2  x="1659" y="1052" id="1127" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<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="422" />
+<P2  x="1826" y="1344" id="1022" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<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="1023" />
+<P2  x="1828" y="1452" id="1025" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<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="420" />
+<P2  x="1740" y="1330" id="1020" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<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="1028" />
+<P2  x="1920" y="1476" id="1030" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<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="1040" />
+<P2  x="1996" y="1538" id="1032" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<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="413" />
+<P2  x="2101" y="1368" id="395" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<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="421" />
+<P2  x="1996" y="1336" id="411" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<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="1120" />
+<P2  x="2340" y="1319" id="1122" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<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="1097" />
+<P2  x="2217" y="1478" id="1082" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<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="406" />
+<P2  x="2278" y="1034" id="1131" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<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="1018" />
+<P2  x="1642" y="1463" id="975" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<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="930" />
+<P2  x="1529" y="1187" id="1133" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<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="1134" />
+<P2  x="1529" y="1249" id="433" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<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="428" />
+<P2  x="1641" y="1230" id="457" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<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="429" />
+<P2  x="1826" y="1259" id="419" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<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="1137" />
+<P2  x="1731" y="1131" id="427" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+
+</TMLActivityDiagramPanel>
+
+<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="start state" value="null" />
+<TGConnectingPoint num="0" id="1278" />
+</COMPONENT>
+
+<COMPONENT type="1010" id="1282" >
+<cdparam x="138" y="129" />
+<sizeparam width="57" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
+<infoparam name="wait event" value="reset() " />
+<TGConnectingPoint num="0" id="1280" />
+<TGConnectingPoint num="1" id="1281" />
+<extraparam>
+<Data eventName="reset" nbOfParams="5" />
+</extraparam>
+</COMPONENT>
+
+<COMPONENT type="1008" id="1285" >
+<cdparam x="108" y="182" />
+<sizeparam width="116" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
+<infoparam name="send event" value="answerToReset()" />
+<TGConnectingPoint num="0" id="1283" />
+<TGConnectingPoint num="1" id="1284" />
+<extraparam>
+<Data eventName="answerToReset" nbOfParams="5" />
+</extraparam>
+</COMPONENT>
+
+<COMPONENT type="1010" id="1288" >
+<cdparam x="143" y="237" />
+<sizeparam width="47" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
+<infoparam name="wait event" value="pTS() " />
+<TGConnectingPoint num="0" id="1286" />
+<TGConnectingPoint num="1" id="1287" />
+<extraparam>
+<Data eventName="pTS" nbOfParams="5" />
+</extraparam>
+</COMPONENT>
+
+<COMPONENT type="1008" id="1291" >
+<cdparam x="121" y="308" />
+<sizeparam width="90" 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="1289" />
+<TGConnectingPoint num="1" id="1290" />
+<extraparam>
+<Data eventName="pTSConfirm" nbOfParams="5" />
+</extraparam>
+</COMPONENT>
+
+<COMPONENT type="301" id="1308" >
+<cdparam x="376" y="98" />
+<sizeparam width="249" height="39" minWidth="50" minHeight="20" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
+<infoparam name="UML Note" value="The first two layers of the OSI model 
+are used to communicate between 
+the smart card and the terminal
+" />
+<TGConnectingPoint num="0" id="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="1007" id="1311" >
+<cdparam x="250" y="97" />
+<sizeparam width="96" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
+<infoparam name="send request" value="start_TCP_IP()" />
+<TGConnectingPoint num="0" id="1309" />
+<TGConnectingPoint num="1" id="1310" />
+<extraparam>
+<Data requestName="start_TCP_IP" nbOfParams="5" />
+</extraparam>
+</COMPONENT>
+
+<COMPONENT type="1007" id="1314" >
+<cdparam x="236" y="148" />
+<sizeparam width="125" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
+<infoparam name="send request" value="start_Application()" />
+<TGConnectingPoint num="0" id="1312" />
+<TGConnectingPoint num="1" id="1313" />
+<extraparam>
+<Data requestName="start_Application" nbOfParams="5" />
+</extraparam>
+</COMPONENT>
+
+<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="1315" />
+</COMPONENT>
+
+<COMPONENT type="1008" id="1319" >
+<cdparam x="305" y="350" />
+<sizeparam width="115" 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="1317" />
+<TGConnectingPoint num="1" id="1318" />
+<extraparam>
+<Data eventName="data_Ready_SC" nbOfParams="5" />
+</extraparam>
+</COMPONENT>
+
+<COMPONENT type="1001" id="1321" >
+<cdparam x="352" y="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="1320" />
+</COMPONENT>
+
+<COMPONENT type="1009" id="1324" >
+<cdparam x="318" y="308" />
+<sizeparam width="88" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
+<infoparam name="read channel" value="fromTtoP(1) " />
+<TGConnectingPoint num="0" id="1322" />
+<TGConnectingPoint num="1" id="1323" />
+<extraparam>
+<Data channelName="fromTtoP" nbOfSamples="1" secPattern="" isAttacker="No" />
+</extraparam>
+</COMPONENT>
+
+<COMPONENT type="1010" id="1327" >
+<cdparam x="335" y="264" />
+<sizeparam width="55" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
+<infoparam name="wait event" value="send() " />
+<TGConnectingPoint num="0" id="1325" />
+<TGConnectingPoint num="1" id="1326" />
+<extraparam>
+<Data eventName="send" nbOfParams="5" />
+</extraparam>
+</COMPONENT>
+
+<COMPONENT type="1006" id="1330" >
+<cdparam x="315" y="392" />
+<sizeparam width="94" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
+<infoparam name="write channel" value="fromSCtoD(1)" />
+<TGConnectingPoint num="0" id="1328" />
+<TGConnectingPoint num="1" id="1329" />
+<extraparam>
+<Data channelName="fromSCtoD" nbOfSamples="1" secPattern="" isAttacker="No" />
+</extraparam>
+</COMPONENT>
+
+<COMPONENT type="1008" id="1333" >
+<cdparam x="493" y="350" />
+<sizeparam width="65" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
+<infoparam name="send event" value="receive()" />
+<TGConnectingPoint num="0" id="1331" />
+<TGConnectingPoint num="1" id="1332" />
+<extraparam>
+<Data eventName="receive" nbOfParams="5" />
+</extraparam>
+</COMPONENT>
+
+<COMPONENT type="1009" id="1336" >
+<cdparam x="476" y="311" />
+<sizeparam width="98" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
+<infoparam name="read channel" value="fromDtoSC(1) " />
+<TGConnectingPoint num="0" id="1334" />
+<TGConnectingPoint num="1" id="1335" />
+<extraparam>
+<Data channelName="fromDtoSC" nbOfSamples="1" secPattern="" isAttacker="No" />
+</extraparam>
+</COMPONENT>
+
+<COMPONENT type="1006" id="1339" >
+<cdparam x="483" y="387" />
+<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="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="1010" id="1342" >
+<cdparam x="466" y="268" />
+<sizeparam width="118" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
+<infoparam name="wait event" value="data_Ready(t, b) " />
+<TGConnectingPoint num="0" id="1340" />
+<TGConnectingPoint num="1" id="1341" />
+<breakpoint />
+<extraparam>
+<Data eventName="data_Ready" nbOfParams="5" />
+<Param index="0" value="t" />
+<Param index="1" value="b" />
+</extraparam>
+</COMPONENT>
+
+<COMPONENT type="1014" id="1346" >
+<cdparam x="236" y="202" />
+<sizeparam width="124" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
+<infoparam name="for loop" value="for(j=0;x==0;j = j)" />
+<TGConnectingPoint num="0" id="1343" />
+<TGConnectingPoint num="1" id="1344" />
+<TGConnectingPoint num="2" id="1345" />
+<extraparam>
+<Data init="j=0" condition="x==0" increment="j = j" />
+</extraparam>
+</COMPONENT>
+
+<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="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="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="1338" />
+<P2  x="525" y="423" id="1315" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<CONNECTOR type="115" id="1376" >
+<cdparam x="298" y="173" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector from send request to for loop" value="null" />
+<P1  x="298" y="173" id="1313" />
+<P2  x="298" y="197" id="1343" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<CONNECTOR type="115" id="1377" >
+<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 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="395" y="283" />
+<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="1350" />
+<P2  x="362" y="259" id="1325" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<CONNECTOR type="115" id="1379" >
+<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 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="391" y="282" />
+<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="360" y="216" id="1344" />
+<P2  x="439" y="216" id="1349" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<CONNECTOR type="115" id="1381" >
+<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 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="166" y="207" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="600" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector from send event to wait event" value="null" />
+<P1  x="166" y="207" id="1284" />
+<P2  x="166" y="232" id="1286" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+
+</TMLActivityDiagramPanel>
+
+</Modeling>
+
+
+
+
+<Modeling type="TML Architecture" nameTab="Mapping1" >
+<TMLArchiDiagramPanel name="DIPLODOCUS architecture and mapping Diagram" minX="10" maxX="1400" minY="10" maxY="900" attributes="0" masterClockFrequency="200" >
+<COMPONENT type="1102" id="1407" >
+<cdparam x="612" y="448" />
+<sizeparam width="250" height="50" minWidth="100" minHeight="50" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
+<infoparam name="Bus0" value="name" />
+<TGConnectingPoint num="0" id="1383" />
+<TGConnectingPoint num="1" id="1384" />
+<TGConnectingPoint num="2" id="1385" />
+<TGConnectingPoint num="3" id="1386" />
+<TGConnectingPoint num="4" id="1387" />
+<TGConnectingPoint num="5" id="1388" />
+<TGConnectingPoint num="6" id="1389" />
+<TGConnectingPoint num="7" id="1390" />
+<TGConnectingPoint num="8" id="1391" />
+<TGConnectingPoint num="9" id="1392" />
+<TGConnectingPoint num="10" id="1393" />
+<TGConnectingPoint num="11" id="1394" />
+<TGConnectingPoint num="12" id="1395" />
+<TGConnectingPoint num="13" id="1396" />
+<TGConnectingPoint num="14" id="1397" />
+<TGConnectingPoint num="15" id="1398" />
+<TGConnectingPoint num="16" id="1399" />
+<TGConnectingPoint num="17" id="1400" />
+<TGConnectingPoint num="18" id="1401" />
+<TGConnectingPoint num="19" id="1402" />
+<TGConnectingPoint num="20" id="1403" />
+<TGConnectingPoint num="21" id="1404" />
+<TGConnectingPoint num="22" id="1405" />
+<TGConnectingPoint num="23" id="1406" />
+<extraparam>
+<info stereotype="BUS-RR" nodeName="Bus0" />
+<attributes byteDataSize="4"  arbitrationPolicy="0"  sliceTime="10000"  pipelineSize="1"  clockRatio="1"  privacy="0"  referenceAttack="null" />
+</extraparam>
+</COMPONENT>
+
+<COMPONENT type="1105" id="1432" >
+<cdparam x="796" y="121" />
+<sizeparam width="200" height="200" minWidth="100" minHeight="35" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
+<infoparam name="Memory0" value="name" />
+<TGConnectingPoint num="0" id="1408" />
+<TGConnectingPoint num="1" id="1409" />
+<TGConnectingPoint num="2" id="1410" />
+<TGConnectingPoint num="3" id="1411" />
+<TGConnectingPoint num="4" id="1412" />
+<TGConnectingPoint num="5" id="1413" />
+<TGConnectingPoint num="6" id="1414" />
+<TGConnectingPoint num="7" id="1415" />
+<TGConnectingPoint num="8" id="1416" />
+<TGConnectingPoint num="9" id="1417" />
+<TGConnectingPoint num="10" id="1418" />
+<TGConnectingPoint num="11" id="1419" />
+<TGConnectingPoint num="12" id="1420" />
+<TGConnectingPoint num="13" id="1421" />
+<TGConnectingPoint num="14" id="1422" />
+<TGConnectingPoint num="15" id="1423" />
+<TGConnectingPoint num="16" id="1424" />
+<TGConnectingPoint num="17" id="1425" />
+<TGConnectingPoint num="18" id="1426" />
+<TGConnectingPoint num="19" id="1427" />
+<TGConnectingPoint num="20" id="1428" />
+<TGConnectingPoint num="21" id="1429" />
+<TGConnectingPoint num="22" id="1430" />
+<TGConnectingPoint num="23" id="1431" />
+<extraparam>
+<info stereotype="MEMORY" nodeName="Memory0" />
+<attributes byteDataSize="4"  memorySize="1024"  clockRatio="1"  bufferType="0" />
+</extraparam>
+</COMPONENT>
+
+<COMPONENT type="1100" id="1502" >
+<cdparam x="51" y="90" />
+<sizeparam width="459" height="321" minWidth="150" minHeight="150" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
+<infoparam name="cpu0" value="name" />
+<TGConnectingPoint num="0" id="1478" />
+<TGConnectingPoint num="1" id="1479" />
+<TGConnectingPoint num="2" id="1480" />
+<TGConnectingPoint num="3" id="1481" />
+<TGConnectingPoint num="4" id="1482" />
+<TGConnectingPoint num="5" id="1483" />
+<TGConnectingPoint num="6" id="1484" />
+<TGConnectingPoint num="7" id="1485" />
+<TGConnectingPoint num="8" id="1486" />
+<TGConnectingPoint num="9" id="1487" />
+<TGConnectingPoint num="10" id="1488" />
+<TGConnectingPoint num="11" id="1489" />
+<TGConnectingPoint num="12" id="1490" />
+<TGConnectingPoint num="13" id="1491" />
+<TGConnectingPoint num="14" id="1492" />
+<TGConnectingPoint num="15" id="1493" />
+<TGConnectingPoint num="16" id="1494" />
+<TGConnectingPoint num="17" id="1495" />
+<TGConnectingPoint num="18" id="1496" />
+<TGConnectingPoint num="19" id="1497" />
+<TGConnectingPoint num="20" id="1498" />
+<TGConnectingPoint num="21" id="1499" />
+<TGConnectingPoint num="22" id="1500" />
+<TGConnectingPoint num="23" id="1501" />
+<extraparam>
+<info stereotype="CPURRPB" nodeName="cpu0" />
+<attributes nbOfCores="1" byteDataSize="4"  schedulingPolicy="1"  sliceTime="10000"  goIdleTime="10"  maxConsecutiveIdleCycles="10"  pipelineSize="5"  taskSwitchingTime="20"  branchingPredictionPenalty="99"  cacheMiss="5" execiTime="1" execcTime="1" clockRatio="1" MECType="0" encryption="0"/>
+</extraparam>
+</COMPONENT>
+<SUBCOMPONENT type="1101" id="1441" >
+<father id="1502" num="0" />
+<cdparam x="92" y="154" />
+<sizeparam width="163" height="50" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="0" maxX="296" minY="0" maxY="271" />
+<infoparam name="TGComponent" value="AppC::InterfaceDevice" />
+<TGConnectingPoint num="0" id="1433" />
+<TGConnectingPoint num="1" id="1434" />
+<TGConnectingPoint num="2" id="1435" />
+<TGConnectingPoint num="3" id="1436" />
+<TGConnectingPoint num="4" id="1437" />
+<TGConnectingPoint num="5" id="1438" />
+<TGConnectingPoint num="6" id="1439" />
+<TGConnectingPoint num="7" id="1440" />
+<extraparam>
+<info value="AppC::InterfaceDevice" taskName="InterfaceDevice" referenceTaskName="AppC" priority="0" operation="" fatherComponentMECType="0" />
+</extraparam>
+</SUBCOMPONENT>
+<SUBCOMPONENT type="1101" id="1450" >
+<father id="1502" num="1" />
+<cdparam x="291" y="153" />
+<sizeparam width="136" height="50" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="0" maxX="323" minY="0" maxY="271" />
+<infoparam name="TGComponent" value="AppC::SmartCard" />
+<TGConnectingPoint num="0" id="1442" />
+<TGConnectingPoint num="1" id="1443" />
+<TGConnectingPoint num="2" id="1444" />
+<TGConnectingPoint num="3" id="1445" />
+<TGConnectingPoint num="4" id="1446" />
+<TGConnectingPoint num="5" id="1447" />
+<TGConnectingPoint num="6" id="1448" />
+<TGConnectingPoint num="7" id="1449" />
+<extraparam>
+<info value="AppC::SmartCard" taskName="SmartCard" referenceTaskName="AppC" priority="0" operation="" fatherComponentMECType="0" />
+</extraparam>
+</SUBCOMPONENT>
+<SUBCOMPONENT type="1101" id="1459" >
+<father id="1502" num="2" />
+<cdparam x="96" y="246" />
+<sizeparam width="108" height="50" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="0" maxX="351" minY="0" maxY="271" />
+<infoparam name="TGComponent" value="AppC::TCPIP" />
+<TGConnectingPoint num="0" id="1451" />
+<TGConnectingPoint num="1" id="1452" />
+<TGConnectingPoint num="2" id="1453" />
+<TGConnectingPoint num="3" id="1454" />
+<TGConnectingPoint num="4" id="1455" />
+<TGConnectingPoint num="5" id="1456" />
+<TGConnectingPoint num="6" id="1457" />
+<TGConnectingPoint num="7" id="1458" />
+<extraparam>
+<info value="AppC::TCPIP" taskName="TCPIP" referenceTaskName="AppC" priority="0" operation="" fatherComponentMECType="0" />
+</extraparam>
+</SUBCOMPONENT>
+<SUBCOMPONENT type="1101" id="1468" >
+<father id="1502" num="3" />
+<cdparam x="290" y="234" />
+<sizeparam width="139" height="50" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="0" maxX="320" minY="0" maxY="271" />
+<infoparam name="TGComponent" value="AppC::Application" />
+<TGConnectingPoint num="0" id="1460" />
+<TGConnectingPoint num="1" id="1461" />
+<TGConnectingPoint num="2" id="1462" />
+<TGConnectingPoint num="3" id="1463" />
+<TGConnectingPoint num="4" id="1464" />
+<TGConnectingPoint num="5" id="1465" />
+<TGConnectingPoint num="6" id="1466" />
+<TGConnectingPoint num="7" id="1467" />
+<extraparam>
+<info value="AppC::Application" taskName="Application" referenceTaskName="AppC" priority="0" operation="" fatherComponentMECType="0" />
+</extraparam>
+</SUBCOMPONENT>
+<SUBCOMPONENT type="1101" id="1477" >
+<father id="1502" num="4" />
+<cdparam x="226" y="304" />
+<sizeparam width="109" height="50" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="0" maxX="350" minY="0" maxY="271" />
+<infoparam name="TGComponent" value="AppC::Timer" />
+<TGConnectingPoint num="0" id="1469" />
+<TGConnectingPoint num="1" id="1470" />
+<TGConnectingPoint num="2" id="1471" />
+<TGConnectingPoint num="3" id="1472" />
+<TGConnectingPoint num="4" id="1473" />
+<TGConnectingPoint num="5" id="1474" />
+<TGConnectingPoint num="6" id="1475" />
+<TGConnectingPoint num="7" id="1476" />
+<extraparam>
+<info value="AppC::Timer" taskName="Timer" referenceTaskName="AppC" priority="0" operation="" fatherComponentMECType="0" />
+</extraparam>
+</SUBCOMPONENT>
+
+<CONNECTOR type="125" id="1503" >
+<cdparam x="800" y="322" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="{info}" />
+<P1  x="846" y="321" id="1422" />
+<P2  x="799" y="448" id="1392" />
+<AutomaticDrawing  data="true" />
+<extraparam>
+<info priority="0" />
+<spy value="false" />
+</extraparam>
+</CONNECTOR>
+<CONNECTOR type="125" id="1504" >
+<cdparam x="510" y="411" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="{info}" />
+<P1  x="510" y="411" id="1485" />
+<P2  x="612" y="460" id="1393" />
+<AutomaticDrawing  data="true" />
+<extraparam>
+<info priority="0" />
+<spy value="false" />
+</extraparam>
+</CONNECTOR>
+
+</TMLArchiDiagramPanel>
+
+</Modeling>
+
+
+
+
+<Modeling type="TML Architecture" nameTab="Mapping2" >
+<TMLArchiDiagramPanel name="DIPLODOCUS architecture and mapping Diagram" minX="10" maxX="1400" minY="10" maxY="900" attributes="0" masterClockFrequency="200" >
+<COMPONENT type="1105" id="1529" >
+<cdparam x="309" y="358" />
+<sizeparam width="189" height="131" minWidth="100" minHeight="50" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
+<infoparam name="Memory0" value="name" />
+<TGConnectingPoint num="0" id="1505" />
+<TGConnectingPoint num="1" id="1506" />
+<TGConnectingPoint num="2" id="1507" />
+<TGConnectingPoint num="3" id="1508" />
+<TGConnectingPoint num="4" id="1509" />
+<TGConnectingPoint num="5" id="1510" />
+<TGConnectingPoint num="6" id="1511" />
+<TGConnectingPoint num="7" id="1512" />
+<TGConnectingPoint num="8" id="1513" />
+<TGConnectingPoint num="9" id="1514" />
+<TGConnectingPoint num="10" id="1515" />
+<TGConnectingPoint num="11" id="1516" />
+<TGConnectingPoint num="12" id="1517" />
+<TGConnectingPoint num="13" id="1518" />
+<TGConnectingPoint num="14" id="1519" />
+<TGConnectingPoint num="15" id="1520" />
+<TGConnectingPoint num="16" id="1521" />
+<TGConnectingPoint num="17" id="1522" />
+<TGConnectingPoint num="18" id="1523" />
+<TGConnectingPoint num="19" id="1524" />
+<TGConnectingPoint num="20" id="1525" />
+<TGConnectingPoint num="21" id="1526" />
+<TGConnectingPoint num="22" id="1527" />
+<TGConnectingPoint num="23" id="1528" />
+<extraparam>
+<info stereotype="MEMORY" nodeName="Memory0" />
+<attributes byteDataSize="4"  memorySize="1024"  clockRatio="1"  bufferType="0" />
+</extraparam>
+</COMPONENT>
+
+<COMPONENT type="1102" id="1554" >
+<cdparam x="278" y="269" />
+<sizeparam width="250" height="50" minWidth="100" minHeight="50" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
+<infoparam name="Bus0" value="name" />
+<TGConnectingPoint num="0" id="1530" />
+<TGConnectingPoint num="1" id="1531" />
+<TGConnectingPoint num="2" id="1532" />
+<TGConnectingPoint num="3" id="1533" />
+<TGConnectingPoint num="4" id="1534" />
+<TGConnectingPoint num="5" id="1535" />
+<TGConnectingPoint num="6" id="1536" />
+<TGConnectingPoint num="7" id="1537" />
+<TGConnectingPoint num="8" id="1538" />
+<TGConnectingPoint num="9" id="1539" />
+<TGConnectingPoint num="10" id="1540" />
+<TGConnectingPoint num="11" id="1541" />
+<TGConnectingPoint num="12" id="1542" />
+<TGConnectingPoint num="13" id="1543" />
+<TGConnectingPoint num="14" id="1544" />
+<TGConnectingPoint num="15" id="1545" />
+<TGConnectingPoint num="16" id="1546" />
+<TGConnectingPoint num="17" id="1547" />
+<TGConnectingPoint num="18" id="1548" />
+<TGConnectingPoint num="19" id="1549" />
+<TGConnectingPoint num="20" id="1550" />
+<TGConnectingPoint num="21" id="1551" />
+<TGConnectingPoint num="22" id="1552" />
+<TGConnectingPoint num="23" id="1553" />
+<extraparam>
+<info stereotype="BUS-RR" nodeName="Bus0" />
+<attributes byteDataSize="4"  arbitrationPolicy="0"  sliceTime="10000"  pipelineSize="1"  clockRatio="5"  privacy="0"  referenceAttack="" />
+</extraparam>
+</COMPONENT>
+
+<COMPONENT type="1100" id="1588" >
+<cdparam x="574" y="227" />
+<sizeparam width="174" height="135" minWidth="150" minHeight="100" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
+<infoparam name="CPU2" value="name" />
+<TGConnectingPoint num="0" id="1564" />
+<TGConnectingPoint num="1" id="1565" />
+<TGConnectingPoint num="2" id="1566" />
+<TGConnectingPoint num="3" id="1567" />
+<TGConnectingPoint num="4" id="1568" />
+<TGConnectingPoint num="5" id="1569" />
+<TGConnectingPoint num="6" id="1570" />
+<TGConnectingPoint num="7" id="1571" />
+<TGConnectingPoint num="8" id="1572" />
+<TGConnectingPoint num="9" id="1573" />
+<TGConnectingPoint num="10" id="1574" />
+<TGConnectingPoint num="11" id="1575" />
+<TGConnectingPoint num="12" id="1576" />
+<TGConnectingPoint num="13" id="1577" />
+<TGConnectingPoint num="14" id="1578" />
+<TGConnectingPoint num="15" id="1579" />
+<TGConnectingPoint num="16" id="1580" />
+<TGConnectingPoint num="17" id="1581" />
+<TGConnectingPoint num="18" id="1582" />
+<TGConnectingPoint num="19" id="1583" />
+<TGConnectingPoint num="20" id="1584" />
+<TGConnectingPoint num="21" id="1585" />
+<TGConnectingPoint num="22" id="1586" />
+<TGConnectingPoint num="23" id="1587" />
+<extraparam>
+<info stereotype="CPURR" nodeName="CPU2" />
+<attributes nbOfCores="1" byteDataSize="4"  schedulingPolicy="0"  sliceTime="10000"  goIdleTime="10"  maxConsecutiveIdleCycles="10"  pipelineSize="5"  taskSwitchingTime="20"  branchingPredictionPenalty="2"  cacheMiss="5" execiTime="1" execcTime="1" clockRatio="4" MECType="0" encryption="0"/>
+</extraparam>
+</COMPONENT>
+<SUBCOMPONENT type="1101" id="1563" >
+<father id="1588" num="0" />
+<cdparam x="604" y="279" />
+<sizeparam width="109" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="0" maxX="65" minY="0" maxY="95" />
+<infoparam name="TGComponent" value="AppC::Timer" />
+<TGConnectingPoint num="0" id="1555" />
+<TGConnectingPoint num="1" id="1556" />
+<TGConnectingPoint num="2" id="1557" />
+<TGConnectingPoint num="3" id="1558" />
+<TGConnectingPoint num="4" id="1559" />
+<TGConnectingPoint num="5" id="1560" />
+<TGConnectingPoint num="6" id="1561" />
+<TGConnectingPoint num="7" id="1562" />
+<extraparam>
+<info value="AppC::Timer" taskName="Timer" referenceTaskName="AppC" priority="0" operation="" fatherComponentMECType="0" />
+</extraparam>
+</SUBCOMPONENT>
+
+<COMPONENT type="1100" id="1622" >
+<cdparam x="56" y="231" />
+<sizeparam width="165" height="126" minWidth="150" minHeight="100" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
+<infoparam name="CPU1" value="name" />
+<TGConnectingPoint num="0" id="1598" />
+<TGConnectingPoint num="1" id="1599" />
+<TGConnectingPoint num="2" id="1600" />
+<TGConnectingPoint num="3" id="1601" />
+<TGConnectingPoint num="4" id="1602" />
+<TGConnectingPoint num="5" id="1603" />
+<TGConnectingPoint num="6" id="1604" />
+<TGConnectingPoint num="7" id="1605" />
+<TGConnectingPoint num="8" id="1606" />
+<TGConnectingPoint num="9" id="1607" />
+<TGConnectingPoint num="10" id="1608" />
+<TGConnectingPoint num="11" id="1609" />
+<TGConnectingPoint num="12" id="1610" />
+<TGConnectingPoint num="13" id="1611" />
+<TGConnectingPoint num="14" id="1612" />
+<TGConnectingPoint num="15" id="1613" />
+<TGConnectingPoint num="16" id="1614" />
+<TGConnectingPoint num="17" id="1615" />
+<TGConnectingPoint num="18" id="1616" />
+<TGConnectingPoint num="19" id="1617" />
+<TGConnectingPoint num="20" id="1618" />
+<TGConnectingPoint num="21" id="1619" />
+<TGConnectingPoint num="22" id="1620" />
+<TGConnectingPoint num="23" id="1621" />
+<extraparam>
+<info stereotype="CPURR" nodeName="CPU1" />
+<attributes nbOfCores="1" byteDataSize="4"  schedulingPolicy="0"  sliceTime="10000"  goIdleTime="10"  maxConsecutiveIdleCycles="10"  pipelineSize="5"  taskSwitchingTime="20"  branchingPredictionPenalty="2"  cacheMiss="5" execiTime="1" execcTime="1" clockRatio="2" MECType="0" encryption="0"/>
+</extraparam>
+</COMPONENT>
+<SUBCOMPONENT type="1101" id="1597" >
+<father id="1622" num="0" />
+<cdparam x="56" y="276" />
+<sizeparam width="163" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="0" maxX="2" minY="0" maxY="86" />
+<infoparam name="TGComponent" value="AppC::InterfaceDevice" />
+<TGConnectingPoint num="0" id="1589" />
+<TGConnectingPoint num="1" id="1590" />
+<TGConnectingPoint num="2" id="1591" />
+<TGConnectingPoint num="3" id="1592" />
+<TGConnectingPoint num="4" id="1593" />
+<TGConnectingPoint num="5" id="1594" />
+<TGConnectingPoint num="6" id="1595" />
+<TGConnectingPoint num="7" id="1596" />
+<extraparam>
+<info value="AppC::InterfaceDevice" taskName="InterfaceDevice" referenceTaskName="AppC" priority="0" operation="" fatherComponentMECType="0" />
+</extraparam>
+</SUBCOMPONENT>
+
+<COMPONENT type="1100" id="1674" >
+<cdparam x="278" y="74" />
+<sizeparam width="272" height="167" minWidth="150" minHeight="100" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
+<infoparam name="CPU0" value="name" />
+<TGConnectingPoint num="0" id="1650" />
+<TGConnectingPoint num="1" id="1651" />
+<TGConnectingPoint num="2" id="1652" />
+<TGConnectingPoint num="3" id="1653" />
+<TGConnectingPoint num="4" id="1654" />
+<TGConnectingPoint num="5" id="1655" />
+<TGConnectingPoint num="6" id="1656" />
+<TGConnectingPoint num="7" id="1657" />
+<TGConnectingPoint num="8" id="1658" />
+<TGConnectingPoint num="9" id="1659" />
+<TGConnectingPoint num="10" id="1660" />
+<TGConnectingPoint num="11" id="1661" />
+<TGConnectingPoint num="12" id="1662" />
+<TGConnectingPoint num="13" id="1663" />
+<TGConnectingPoint num="14" id="1664" />
+<TGConnectingPoint num="15" id="1665" />
+<TGConnectingPoint num="16" id="1666" />
+<TGConnectingPoint num="17" id="1667" />
+<TGConnectingPoint num="18" id="1668" />
+<TGConnectingPoint num="19" id="1669" />
+<TGConnectingPoint num="20" id="1670" />
+<TGConnectingPoint num="21" id="1671" />
+<TGConnectingPoint num="22" id="1672" />
+<TGConnectingPoint num="23" id="1673" />
+<extraparam>
+<info stereotype="CPURR" nodeName="CPU0" />
+<attributes nbOfCores="1" byteDataSize="4"  schedulingPolicy="0"  sliceTime="10000"  goIdleTime="10"  maxConsecutiveIdleCycles="10"  pipelineSize="5"  taskSwitchingTime="20"  branchingPredictionPenalty="2"  cacheMiss="18" execiTime="1" execcTime="1" clockRatio="3" MECType="0" encryption="0"/>
+</extraparam>
+</COMPONENT>
+<SUBCOMPONENT type="1101" id="1631" >
+<father id="1674" num="0" />
+<cdparam x="288" y="105" />
+<sizeparam width="108" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="0" maxX="164" minY="0" maxY="127" />
+<infoparam name="TGComponent" value="AppC::TCPIP" />
+<TGConnectingPoint num="0" id="1623" />
+<TGConnectingPoint num="1" id="1624" />
+<TGConnectingPoint num="2" id="1625" />
+<TGConnectingPoint num="3" id="1626" />
+<TGConnectingPoint num="4" id="1627" />
+<TGConnectingPoint num="5" id="1628" />
+<TGConnectingPoint num="6" id="1629" />
+<TGConnectingPoint num="7" id="1630" />
+<extraparam>
+<info value="AppC::TCPIP" taskName="TCPIP" referenceTaskName="AppC" priority="0" operation="" fatherComponentMECType="0" />
+</extraparam>
+</SUBCOMPONENT>
+<SUBCOMPONENT type="1101" id="1640" >
+<father id="1674" num="1" />
+<cdparam x="304" y="180" />
+<sizeparam width="139" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="0" maxX="133" minY="0" maxY="127" />
+<infoparam name="TGComponent" value="AppC::Application" />
+<TGConnectingPoint num="0" id="1632" />
+<TGConnectingPoint num="1" id="1633" />
+<TGConnectingPoint num="2" id="1634" />
+<TGConnectingPoint num="3" id="1635" />
+<TGConnectingPoint num="4" id="1636" />
+<TGConnectingPoint num="5" id="1637" />
+<TGConnectingPoint num="6" id="1638" />
+<TGConnectingPoint num="7" id="1639" />
+<extraparam>
+<info value="AppC::Application" taskName="Application" referenceTaskName="AppC" priority="0" operation="" fatherComponentMECType="0" />
+</extraparam>
+</SUBCOMPONENT>
+<SUBCOMPONENT type="1101" id="1649" >
+<father id="1674" num="2" />
+<cdparam x="386" y="136" />
+<sizeparam width="136" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="0" maxX="136" minY="0" maxY="127" />
+<infoparam name="TGComponent" value="AppC::SmartCard" />
+<TGConnectingPoint num="0" id="1641" />
+<TGConnectingPoint num="1" id="1642" />
+<TGConnectingPoint num="2" id="1643" />
+<TGConnectingPoint num="3" id="1644" />
+<TGConnectingPoint num="4" id="1645" />
+<TGConnectingPoint num="5" id="1646" />
+<TGConnectingPoint num="6" id="1647" />
+<TGConnectingPoint num="7" id="1648" />
+<extraparam>
+<info value="AppC::SmartCard" taskName="SmartCard" referenceTaskName="AppC" priority="0" operation="" fatherComponentMECType="0" />
+</extraparam>
+</SUBCOMPONENT>
+
+<CONNECTOR type="125" id="1675" >
+<cdparam x="402" y="367" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector from Memory0 to Bus0" value="{info}" />
+<P1  x="403" y="358" id="1506" />
+<P2  x="403" y="319" id="1536" />
+<AutomaticDrawing  data="true" />
+<extraparam>
+<info priority="0" />
+<spy value="false" />
+</extraparam>
+</CONNECTOR>
+<CONNECTOR type="125" id="1676" >
+<cdparam x="190" y="300" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector from CPU1 to Bus0" value="{info}" />
+<P1  x="221" y="294" id="1602" />
+<P2  x="278" y="294" id="1533" />
+<AutomaticDrawing  data="true" />
+<extraparam>
+<info priority="0" />
+<spy value="false" />
+</extraparam>
+</CONNECTOR>
+<CONNECTOR type="125" id="1677" >
+<cdparam x="662" y="310" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector from CPU2 to Bus0" value="{info}" />
+<P1  x="574" y="294" id="1567" />
+<P2  x="528" y="294" id="1534" />
+<AutomaticDrawing  data="true" />
+<extraparam>
+<info priority="0" />
+<spy value="false" />
+</extraparam>
+</CONNECTOR>
+<CONNECTOR type="125" id="1678" >
+<cdparam x="388" y="162" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector from CPU0 to Bus0" value="{info}" />
+<P1  x="414" y="241" id="1656" />
+<P2  x="403" y="269" id="1531" />
+<AutomaticDrawing  data="true" />
+<extraparam>
+<info priority="0" />
+<spy value="false" />
+</extraparam>
+</CONNECTOR>
+
+</TMLArchiDiagramPanel>
+
+</Modeling>
+
+
+
+
+<Modeling type="Diplodocus Methodology" nameTab="DIPLODOCUS_Methodology" >
+<DiplodocusMethodologyDiagramPanel name="DIPLODOCUS_Methodology" minX="10" maxX="2500" minY="10" maxY="1500" zoom="1.0" >
+<COMPONENT type="6003" id="1683" >
+<cdparam x="60" y="417" />
+<sizeparam width="200" height="120" minWidth="10" minHeight="30" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="TGComponent" value="Requirements" />
+<TGConnectingPoint num="0" id="1679" />
+<TGConnectingPoint num="1" id="1680" />
+<TGConnectingPoint num="2" id="1681" />
+<TGConnectingPoint num="3" id="1682" />
+</COMPONENT>
+
+<COMPONENT type="6006" id="1688" >
+<cdparam x="600" y="100" />
+<sizeparam width="200" height="120" minWidth="10" minHeight="30" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="TGComponent" value="Com. Patterns" />
+<TGConnectingPoint num="0" id="1684" />
+<TGConnectingPoint num="1" id="1685" />
+<TGConnectingPoint num="2" id="1686" />
+<TGConnectingPoint num="3" id="1687" />
+</COMPONENT>
+
+<COMPONENT type="6002" id="1697" >
+<cdparam x="518" y="306" />
+<sizeparam width="318" height="136" minWidth="10" minHeight="30" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="TGComponent" value="Mapping" />
+<TGConnectingPoint num="0" id="1691" />
+<TGConnectingPoint num="1" id="1692" />
+<TGConnectingPoint num="2" id="1693" />
+<TGConnectingPoint num="3" id="1694" />
+<TGConnectingPoint num="4" id="1695" />
+<TGConnectingPoint num="5" id="1696" />
+</COMPONENT>
+<SUBCOMPONENT type="6005" id="1689" >
+<father id="1697" num="0" />
+<cdparam x="523" y="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="340" maxY="340" />
+<infoparam name="value " value="Mapping1" />
+</SUBCOMPONENT>
+<SUBCOMPONENT type="6005" id="1690" >
+<father id="1697" num="1" />
+<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="355" maxY="355" />
+<infoparam name="value " value="Mapping2" />
+</SUBCOMPONENT>
+
+<COMPONENT type="6001" id="1704" >
+<cdparam x="850" y="100" />
+<sizeparam width="200" height="120" minWidth="10" minHeight="30" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="TGComponent" value="Architecture" />
+<TGConnectingPoint num="0" id="1700" />
+<TGConnectingPoint num="1" id="1701" />
+<TGConnectingPoint num="2" id="1702" />
+<TGConnectingPoint num="3" id="1703" />
+</COMPONENT>
+<SUBCOMPONENT type="6005" id="1698" >
+<father id="1704" num="0" />
+<cdparam x="855" y="140" />
+<sizeparam width="10" height="10" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="855" maxX="855" minY="140" maxY="140" />
+<infoparam name="value " value="Mapping1" />
+</SUBCOMPONENT>
+<SUBCOMPONENT type="6005" id="1699" >
+<father id="1704" num="1" />
+<cdparam x="855" y="155" />
+<sizeparam width="10" height="10" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="855" maxX="855" minY="155" maxY="155" />
+<infoparam name="value " value="Mapping2" />
+</SUBCOMPONENT>
+
+<COMPONENT type="6000" id="1710" >
+<cdparam x="233" y="101" />
+<sizeparam width="334" height="161" minWidth="10" minHeight="30" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="TGComponent" value="Application" />
+<TGConnectingPoint num="0" id="1706" />
+<TGConnectingPoint num="1" id="1707" />
+<TGConnectingPoint num="2" id="1708" />
+<TGConnectingPoint num="3" id="1709" />
+</COMPONENT>
+<SUBCOMPONENT type="6005" id="1705" >
+<father id="1710" num="0" />
+<cdparam x="238" y="141" />
+<sizeparam width="10" height="10" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="355" maxX="355" minY="140" maxY="140" />
+<infoparam name="value " value="AppC" />
+</SUBCOMPONENT>
+
+<CONNECTOR type="6004" id="1712" >
+<cdparam x="950" y="220" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="&lt;&lt;deriveReqt&gt;&gt;" />
+<TGConnectingPoint num="0" id="1711" />
+<P1  x="950" y="220" id="1700" />
+<P2  x="740" y="306" id="1692" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<CONNECTOR type="6004" id="1714" >
+<cdparam x="700" y="220" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="&lt;&lt;deriveReqt&gt;&gt;" />
+<TGConnectingPoint num="0" id="1713" />
+<P1  x="700" y="220" id="1684" />
+<P2  x="677" y="306" id="1693" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<CONNECTOR type="6004" id="1716" >
+<cdparam x="450" y="220" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="&lt;&lt;deriveReqt&gt;&gt;" />
+<TGConnectingPoint num="0" id="1715" />
+<P1  x="400" y="262" id="1706" />
+<P2  x="613" y="306" id="1691" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+
+</DiplodocusMethodologyDiagramPanel>
+
+</Modeling>
+
+
+
+
+<Modeling type="TML Component Design" nameTab="DIPLODOCUS_C_Design" >
+<TMLComponentTaskDiagramPanel name="TML Component Task Diagram" minX="10" maxX="2500" minY="10" maxY="1500" channels="true" events="true" requests="true" zoom="1.0" >
+<CONNECTOR type="126" id="1717" >
+<cdparam x="466" y="535" />
+<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="535" id="1731" />
+<P2  x="683" y="530" id="1720" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<CONNECTOR type="126" id="1718" >
+<cdparam x="467" y="181" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="Connector between ports" />
+<P1  x="467" y="317" id="1742" />
+<P2  x="640" y="193" id="1753" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<CONNECTOR type="126" id="1719" >
+<cdparam x="467" y="127" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="Connector between ports" />
+<P1  x="467" y="110" id="1766" />
+<P2  x="640" y="140" id="1755" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<COMPONENT type="1202" id="1730" >
+<cdparam x="696" y="476" />
+<sizeparam width="200" height="150" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="Primitive component" value="TMLComp_4" />
+<TGConnectingPoint num="0" id="1722" />
+<TGConnectingPoint num="1" id="1723" />
+<TGConnectingPoint num="2" id="1724" />
+<TGConnectingPoint num="3" id="1725" />
+<TGConnectingPoint num="4" id="1726" />
+<TGConnectingPoint num="5" id="1727" />
+<TGConnectingPoint num="6" id="1728" />
+<TGConnectingPoint num="7" id="1729" />
+<extraparam>
+<Data isAttacker="No" />
+</extraparam>
+</COMPONENT>
+<SUBCOMPONENT type="1203" id="1721" >
+<father id="1730" num="0" />
+<cdparam x="683" y="517" />
+<sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="-13" maxX="187" minY="-13" maxY="137" />
+<infoparam name="Primitive port" value="Event comm" />
+<TGConnectingPoint num="0" id="1720" />
+<extraparam>
+<Prop commName="comm" commType="1" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+</extraparam>
+</SUBCOMPONENT>
+
+<COMPONENT type="1202" id="1741" >
+<cdparam x="253" y="486" />
+<sizeparam width="200" height="150" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="Primitive component" value="TMLComp_3" />
+<TGConnectingPoint num="0" id="1733" />
+<TGConnectingPoint num="1" id="1734" />
+<TGConnectingPoint num="2" id="1735" />
+<TGConnectingPoint num="3" id="1736" />
+<TGConnectingPoint num="4" id="1737" />
+<TGConnectingPoint num="5" id="1738" />
+<TGConnectingPoint num="6" id="1739" />
+<TGConnectingPoint num="7" id="1740" />
+<extraparam>
+<Data isAttacker="No" />
+</extraparam>
+</COMPONENT>
+<SUBCOMPONENT type="1203" id="1732" >
+<father id="1741" num="0" />
+<cdparam x="440" y="522" />
+<sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="-13" maxX="187" minY="-13" maxY="137" />
+<infoparam name="Primitive port" value="Event comm" />
+<TGConnectingPoint num="0" id="1731" />
+<extraparam>
+<Prop commName="comm" commType="1" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+</extraparam>
+</SUBCOMPONENT>
+
+<COMPONENT type="1202" id="1752" >
+<cdparam x="254" y="255" />
+<sizeparam width="200" height="150" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="Primitive component" value="TMLComp_2" />
+<TGConnectingPoint num="0" id="1744" />
+<TGConnectingPoint num="1" id="1745" />
+<TGConnectingPoint num="2" id="1746" />
+<TGConnectingPoint num="3" id="1747" />
+<TGConnectingPoint num="4" id="1748" />
+<TGConnectingPoint num="5" id="1749" />
+<TGConnectingPoint num="6" id="1750" />
+<TGConnectingPoint num="7" id="1751" />
+<extraparam>
+<Data isAttacker="No" />
+</extraparam>
+</COMPONENT>
+<SUBCOMPONENT type="1203" id="1743" >
+<father id="1752" num="0" />
+<cdparam x="441" y="304" />
+<sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="-13" maxX="187" minY="-13" maxY="137" />
+<infoparam name="Primitive port" value="Event comm" />
+<TGConnectingPoint num="0" id="1742" />
+<extraparam>
+<Prop commName="comm" commType="1" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+</extraparam>
+</SUBCOMPONENT>
+
+<COMPONENT type="1202" id="1765" >
+<cdparam x="653" y="75" />
+<sizeparam width="200" height="150" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="Primitive component" value="TMLComp_1" />
+<TGConnectingPoint num="0" id="1757" />
+<TGConnectingPoint num="1" id="1758" />
+<TGConnectingPoint num="2" id="1759" />
+<TGConnectingPoint num="3" id="1760" />
+<TGConnectingPoint num="4" id="1761" />
+<TGConnectingPoint num="5" id="1762" />
+<TGConnectingPoint num="6" id="1763" />
+<TGConnectingPoint num="7" id="1764" />
+<extraparam>
+<Data isAttacker="No" />
+</extraparam>
+</COMPONENT>
+<SUBCOMPONENT type="1203" id="1754" >
+<father id="1765" num="0" />
+<cdparam x="640" y="180" />
+<sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="-13" maxX="187" minY="-13" maxY="137" />
+<infoparam name="Primitive port" value="Event comm" />
+<TGConnectingPoint num="0" id="1753" />
+<extraparam>
+<Prop commName="comm" commType="1" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+</extraparam>
+</SUBCOMPONENT>
+<SUBCOMPONENT type="1203" id="1756" >
+<father id="1765" num="1" />
+<cdparam x="640" y="127" />
+<sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="-13" maxX="187" minY="-13" maxY="137" />
+<infoparam name="Primitive port" value="Channel comm" />
+<TGConnectingPoint num="0" id="1755" />
+<extraparam>
+<Prop commName="comm" commType="0" origin="false" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+</extraparam>
+</SUBCOMPONENT>
+
+<COMPONENT type="1202" id="1776" >
+<cdparam x="254" y="70" />
+<sizeparam width="200" height="150" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="Primitive component" value="TMLComp_0" />
+<TGConnectingPoint num="0" id="1768" />
+<TGConnectingPoint num="1" id="1769" />
+<TGConnectingPoint num="2" id="1770" />
+<TGConnectingPoint num="3" id="1771" />
+<TGConnectingPoint num="4" id="1772" />
+<TGConnectingPoint num="5" id="1773" />
+<TGConnectingPoint num="6" id="1774" />
+<TGConnectingPoint num="7" id="1775" />
+<extraparam>
+<Data isAttacker="No" />
+</extraparam>
+</COMPONENT>
+<SUBCOMPONENT type="1203" id="1767" >
+<father id="1776" num="0" />
+<cdparam x="441" y="97" />
+<sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="-13" maxX="187" minY="-13" maxY="137" />
+<infoparam name="Primitive port" value="Channel comm" />
+<TGConnectingPoint num="0" id="1766" />
+<extraparam>
+<Prop commName="comm" commType="0" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+</extraparam>
+</SUBCOMPONENT>
+
+
+</TMLComponentTaskDiagramPanel>
+
+<TMLActivityDiagramPanel name="TMLComp_4" minX="10" maxX="2500" minY="10" maxY="1500" >
+<COMPONENT type="1000" id="1778" >
+<cdparam x="400" y="50" />
+<sizeparam width="15" height="15" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="start state" value="null" />
+<TGConnectingPoint num="0" id="1777" />
+</COMPONENT>
+
+
+</TMLActivityDiagramPanel>
+
+<TMLActivityDiagramPanel name="TMLComp_3" minX="10" maxX="2500" minY="10" maxY="1500" >
+<COMPONENT type="1000" id="1780" >
+<cdparam x="400" y="50" />
+<sizeparam width="15" height="15" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="start state" value="null" />
+<TGConnectingPoint num="0" id="1779" />
+</COMPONENT>
+
+
+</TMLActivityDiagramPanel>
+
+<TMLActivityDiagramPanel name="TMLComp_2" minX="10" maxX="2500" minY="10" maxY="1500" >
+<COMPONENT type="1001" id="1782" >
+<cdparam x="400" y="91" />
+<sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="stop state" value="null" />
+<TGConnectingPoint num="0" id="1781" />
+</COMPONENT>
+
+<COMPONENT type="1000" id="1784" >
+<cdparam x="400" y="50" />
+<sizeparam width="15" height="15" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="start state" value="null" />
+<TGConnectingPoint num="0" id="1783" />
+</COMPONENT>
+
+<CONNECTOR type="115" id="1785" >
+<cdparam x="407" y="70" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="null" />
+<P1  x="407" y="70" id="1783" />
+<P2  x="410" y="86" id="1781" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+
+</TMLActivityDiagramPanel>
+
+<TMLActivityDiagramPanel name="TMLComp_1" minX="10" maxX="2500" minY="10" maxY="1500" >
+<COMPONENT type="1001" id="1787" >
+<cdparam x="409" y="101" />
+<sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="stop state" value="null" />
+<TGConnectingPoint num="0" id="1786" />
+</COMPONENT>
+
+<COMPONENT type="1000" id="1789" >
+<cdparam x="400" y="50" />
+<sizeparam width="15" height="15" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="start state" value="null" />
+<TGConnectingPoint num="0" id="1788" />
+</COMPONENT>
+
+<CONNECTOR type="115" id="1790" >
+<cdparam x="407" y="70" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="null" />
+<P1  x="407" y="70" id="1788" />
+<P2  x="419" y="96" id="1786" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+
+</TMLActivityDiagramPanel>
+
+<TMLActivityDiagramPanel name="TMLComp_0" minX="10" maxX="2500" minY="10" maxY="1500" >
+<COMPONENT type="1001" id="1792" >
+<cdparam x="393" y="85" />
+<sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="stop state" value="null" />
+<TGConnectingPoint num="0" id="1791" />
+</COMPONENT>
+
+<COMPONENT type="1000" id="1794" >
+<cdparam x="400" y="50" />
+<sizeparam width="15" height="15" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="start state" value="null" />
+<TGConnectingPoint num="0" id="1793" />
+</COMPONENT>
+
+<CONNECTOR type="115" id="1795" >
+<cdparam x="407" y="70" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="null" />
+<P1  x="407" y="70" id="1793" />
+<P2  x="403" y="80" id="1791" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+
+</TMLActivityDiagramPanel>
+
+</Modeling>
+
+
+
+
+</TURTLEGMODELING>
\ No newline at end of file
diff --git a/modeling/DIPLODOCUS/ZigBeeTutorial.xml b/modeling/DIPLODOCUS/ZigBeeTutorial.xml
index 9c38b67565795e767afdb0fda706d2c8f09d0965..8ddf09351a4f8079ef471c7c531080a5883c2a6a 100644
--- a/modeling/DIPLODOCUS/ZigBeeTutorial.xml
+++ b/modeling/DIPLODOCUS/ZigBeeTutorial.xml
@@ -29,11 +29,11 @@
 </COMPONENT>
 <SUBCOMPONENT type="6005" id="6" >
 <father id="13" num="0" />
-<cdparam x="605" y="140" />
+<cdparam x="605" y="170" />
 <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="140" maxY="140" />
-<infoparam name="value " value="DMA_transfer" />
+<cdrectangleparam minX="605" maxX="605" minY="170" maxY="170" />
+<infoparam name="value " value="CP_Memory_Copy" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="6005" id="7" >
 <father id="13" num="1" />
@@ -45,11 +45,11 @@
 </SUBCOMPONENT>
 <SUBCOMPONENT type="6005" id="8" >
 <father id="13" num="2" />
-<cdparam x="605" y="170" />
+<cdparam x="605" y="140" />
 <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="170" maxY="170" />
-<infoparam name="value " value="CP_Memory_Copy" />
+<cdrectangleparam minX="605" maxX="605" minY="140" maxY="140" />
+<infoparam name="value " value="DMA_transfer" />
 </SUBCOMPONENT>
 
 <COMPONENT type="6002" id="23" >
@@ -67,11 +67,11 @@
 </COMPONENT>
 <SUBCOMPONENT type="6005" id="14" >
 <father id="23" num="0" />
-<cdparam x="605" y="340" />
+<cdparam x="605" y="370" />
 <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="Mapping_0" />
+<cdrectangleparam minX="605" maxX="605" minY="370" maxY="370" />
+<infoparam name="value " value="Mapping_2" />
 </SUBCOMPONENT>
 <SUBCOMPONENT type="6005" id="15" >
 <father id="23" num="1" />
@@ -83,11 +83,11 @@
 </SUBCOMPONENT>
 <SUBCOMPONENT type="6005" id="16" >
 <father id="23" num="2" />
-<cdparam x="605" y="370" />
+<cdparam x="605" y="340" />
 <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="370" maxY="370" />
-<infoparam name="value " value="Mapping_2" />
+<cdrectangleparam minX="605" maxX="605" minY="340" maxY="340" />
+<infoparam name="value " value="Mapping_0" />
 </SUBCOMPONENT>
 
 <COMPONENT type="6001" id="29" >
@@ -171,7 +171,7 @@
 <cdparam x="1409" y="343" />
 <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="1410" y="393" id="772" />
+<P1  x="1397" y="380" id="685" />
 <P2  x="1446" y="258" id="125" />
 <Point x="1446" y="393" />
 <AutomaticDrawing  data="true" />
@@ -188,16 +188,16 @@
 <cdparam x="1383" y="381" />
 <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="1377" y="393" id="723" />
-<P2  x="1384" y="393" id="777" />
+<P1  x="1364" y="380" id="742" />
+<P2  x="1397" y="406" id="690" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="126" id="45" >
 <cdparam x="1507" y="228" />
 <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="1507" y="250" id="662" />
-<P2  x="1522" y="250" id="608" />
+<P1  x="1494" y="263" id="596" />
+<P2  x="1535" y="237" id="648" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="126" id="46" >
@@ -205,23 +205,23 @@
 <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="1463" y="250" id="120" />
-<P2  x="1481" y="250" id="657" />
+<P2  x="1494" y="237" id="591" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="126" id="47" >
 <cdparam x="1507" y="420" />
 <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="1507" y="410" id="643" />
-<P2  x="1523" y="410" id="591" />
+<P1  x="1494" y="423" id="615" />
+<P2  x="1536" y="397" id="665" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="126" id="50" >
 <cdparam x="1409" y="471" />
 <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="1410" y="523" id="753" />
-<P2  x="1481" y="410" id="638" />
+<P1  x="1397" y="510" id="704" />
+<P2  x="1494" y="397" id="610" />
 <Point x="1432" y="523" />
 <Point x="1432" y="410" />
 <AutomaticDrawing  data="true" />
@@ -246,24 +246,24 @@
 <cdparam x="1379" y="511" />
 <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="1375" y="523" id="708" />
-<P2  x="1384" y="523" id="758" />
+<P1  x="1362" y="510" id="757" />
+<P2  x="1397" y="536" id="709" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="126" id="52" >
 <cdparam x="1507" y="344" />
 <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="1507" y="354" id="624" />
-<P2  x="1523" y="354" id="595" />
+<P1  x="1494" y="367" id="634" />
+<P2  x="1536" y="341" id="661" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="126" id="55" >
 <cdparam x="1413" y="226" />
 <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="1413" y="262" id="887" />
-<P2  x="1481" y="354" id="619" />
+<P1  x="1400" y="249" id="800" />
+<P2  x="1494" y="341" id="629" />
 <Point x="1430" y="262" />
 <Point x="1430" y="354" />
 <AutomaticDrawing  data="true" />
@@ -288,15 +288,15 @@
 <cdparam x="1388" y="262" />
 <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="1378" y="262" id="823" />
-<P2  x="1387" y="262" id="892" />
+<P1  x="1365" y="249" id="872" />
+<P2  x="1400" y="275" id="805" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="126" id="58" >
 <cdparam x="1413" y="97" />
 <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="1413" y="124" id="800" />
+<P1  x="1400" y="111" id="887" />
 <P2  x="1446" y="241" id="123" />
 <Point x="1446" y="124" />
 <AutomaticDrawing  data="true" />
@@ -313,16 +313,16 @@
 <cdparam x="1384" 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="1377" y="124" id="838" />
-<P2  x="1387" y="124" id="805" />
+<P1  x="1364" y="111" id="857" />
+<P2  x="1400" y="137" id="892" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="126" id="60" >
 <cdparam x="1208" y="347" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="Connector between ports" />
-<P1  x="1199" y="388" id="690" />
-<P2  x="1207" y="388" id="721" />
+<P1  x="1186" y="401" id="777" />
+<P2  x="1220" y="375" id="744" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="126" id="62" >
@@ -330,7 +330,7 @@
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="Connector between ports" />
 <P1  x="1133" y="251" id="141" />
-<P2  x="1173" y="388" id="685" />
+<P2  x="1186" y="375" id="772" />
 <Point x="1133" y="388" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR><SUBCOMPONENT type="-1" id="61" >
@@ -346,7 +346,7 @@
 <cdparam x="1105" y="254" />
 <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="1059" y="243" id="455" />
+<P1  x="1046" y="230" id="563" />
 <P2  x="1117" y="243" id="136" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
@@ -354,16 +354,16 @@
 <cdparam x="1068" y="239" />
 <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="1023" y="243" id="531" />
-<P2  x="1033" y="243" id="460" />
+<P1  x="1010" y="230" id="495" />
+<P2  x="1046" y="256" id="568" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="126" id="67" >
 <cdparam x="1105" y="374" />
 <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="1059" y="376" id="563" />
-<P2  x="1173" y="262" id="849" />
+<P1  x="1046" y="363" id="455" />
+<P2  x="1186" y="249" id="838" />
 <Point x="1103" y="376" />
 <Point x="1103" y="262" />
 <AutomaticDrawing  data="true" />
@@ -388,24 +388,24 @@
 <cdparam x="1065" y="372" />
 <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="1021" y="376" id="516" />
-<P2  x="1033" y="376" id="568" />
+<P1  x="1008" y="363" id="510" />
+<P2  x="1046" y="389" id="460" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="126" id="69" >
 <cdparam x="1208" y="499" />
 <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="1199" y="500" id="739" />
-<P2  x="1211" y="500" id="706" />
+<P1  x="1186" y="513" id="728" />
+<P2  x="1224" y="487" id="759" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="126" id="72" >
 <cdparam x="1105" y="408" />
 <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="1059" y="408" id="544" />
-<P2  x="1173" y="500" id="734" />
+<P1  x="1046" y="395" id="474" />
+<P2  x="1186" y="487" id="723" />
 <Point x="1101" y="408" />
 <Point x="1101" y="500" />
 <AutomaticDrawing  data="true" />
@@ -430,160 +430,160 @@
 <cdparam x="1065" y="404" />
 <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="1021" y="408" id="512" />
-<P2  x="1033" y="408" id="549" />
+<P1  x="1008" y="395" id="514" />
+<P2  x="1046" y="421" id="479" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="126" id="74" >
 <cdparam x="907" y="352" />
 <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="851" y="387" id="479" />
-<P2  x="861" y="387" id="518" />
+<P1  x="838" y="400" id="549" />
+<P2  x="874" y="374" id="508" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="126" id="75" >
 <cdparam x="867" y="334" />
 <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="812" y="387" id="340" />
-<P2  x="825" y="387" id="474" />
+<P1  x="799" y="374" id="427" />
+<P2  x="838" y="374" id="544" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="126" id="76" >
 <cdparam x="840" y="380" />
 <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="769" y="387" id="382" />
-<P2  x="786" y="387" id="345" />
+<P1  x="756" y="374" id="393" />
+<P2  x="799" y="400" id="432" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="126" id="77" >
 <cdparam x="915" y="228" />
 <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="851" y="261" id="498" />
-<P2  x="863" y="261" id="533" />
+<P1  x="838" y="274" id="530" />
+<P2  x="876" y="248" id="493" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="126" id="78" >
 <cdparam x="867" y="229" />
 <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="812" y="261" id="359" />
-<P2  x="825" y="261" id="493" />
+<P1  x="799" y="248" id="408" />
+<P2  x="838" y="248" id="525" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="126" id="79" >
 <cdparam x="829" y="257" />
 <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="767" y="261" id="397" />
-<P2  x="786" y="261" id="364" />
+<P1  x="754" y="248" id="378" />
+<P2  x="799" y="274" id="413" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="126" id="80" >
 <cdparam x="669" y="349" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="Connector between ports" />
-<P1  x="568" y="386" id="432" />
-<P2  x="584" y="386" id="380" />
+<P1  x="555" y="399" id="345" />
+<P2  x="597" y="373" id="395" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="126" id="81" >
 <cdparam x="586" y="350" />
 <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="529" y="386" id="312" />
-<P2  x="542" y="386" id="427" />
+<P1  x="516" y="373" id="225" />
+<P2  x="555" y="373" id="340" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="126" id="82" >
 <cdparam x="550" y="379" />
 <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="483" y="386" id="267" />
-<P2  x="503" y="386" id="317" />
+<P1  x="470" y="373" id="278" />
+<P2  x="516" y="399" id="230" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="126" id="83" >
 <cdparam x="687" y="234" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="Connector between ports" />
-<P1  x="568" y="269" id="413" />
-<P2  x="585" y="269" id="395" />
+<P1  x="555" y="282" id="364" />
+<P2  x="598" y="256" id="380" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="126" id="84" >
 <cdparam x="586" y="233" />
 <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="529" y="269" id="293" />
-<P2  x="542" y="269" id="408" />
+<P1  x="516" y="256" id="244" />
+<P2  x="555" y="256" id="359" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="126" id="85" >
 <cdparam x="549" y="263" />
 <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="486" y="269" id="282" />
-<P2  x="503" y="269" id="298" />
+<P1  x="473" y="256" id="263" />
+<P2  x="516" y="282" id="249" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="126" id="86" >
 <cdparam x="364" y="356" />
 <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="288" y="381" id="230" />
-<P2  x="303" y="381" id="265" />
+<P1  x="275" y="394" id="317" />
+<P2  x="316" y="368" id="280" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="126" id="87" >
 <cdparam x="321" y="350" />
 <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="244" y="381" id="152" />
-<P2  x="262" y="381" id="225" />
+<P1  x="231" y="368" id="197" />
+<P2  x="275" y="368" id="312" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="126" id="88" >
 <cdparam x="200" y="373" />
 <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="200" y="381" id="173" />
-<P2  x="218" y="381" id="157" />
+<P1  x="187" y="368" id="184" />
+<P2  x="231" y="394" id="202" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="126" id="89" >
 <cdparam x="356" y="223" />
 <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="288" y="258" id="249" />
-<P2  x="304" y="258" id="280" />
+<P1  x="275" y="271" id="298" />
+<P2  x="317" y="245" id="265" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="126" id="90" >
 <cdparam x="314" y="221" />
 <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="244" y="258" id="197" />
-<P2  x="262" y="258" id="244" />
+<P1  x="231" y="245" id="152" />
+<P2  x="275" y="245" id="293" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="126" id="91" >
 <cdparam x="175" y="251" />
 <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="167" y="258" id="186" />
-<P2  x="218" y="258" id="202" />
+<P1  x="154" y="245" id="171" />
+<P2  x="231" y="271" id="157" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="126" id="92" >
 <cdparam x="1792" y="148" />
 <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="1199" y="262" id="854" />
-<P2  x="1209" y="262" id="821" />
+<P1  x="1186" y="275" id="843" />
+<P2  x="1222" y="249" id="874" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="126" id="94" >
@@ -591,7 +591,7 @@
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="Connector between ports" />
 <P1  x="1133" y="234" id="139" />
-<P2  x="1173" y="123" id="868" />
+<P2  x="1186" y="110" id="819" />
 <Point x="1133" y="123" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR><SUBCOMPONENT type="-1" id="93" >
@@ -607,64 +607,64 @@
 <cdparam x="1792" y="8" />
 <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="1199" y="123" id="873" />
-<P2  x="1207" y="123" id="836" />
+<P1  x="1186" y="136" id="824" />
+<P2  x="1220" y="110" id="859" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="126" id="96" >
 <cdparam x="280" y="67" />
 <sizeparam width="10" height="10" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="Connector between ports" />
-<P1  x="1657" y="318" id="593" />
-<P2  x="1562" y="304" id="606" />
+<P1  x="1657" y="318" id="663" />
+<P2  x="1562" y="278" id="650" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="126" id="97" >
 <cdparam x="390" y="97" />
 <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="1333" y="181" id="819" />
-<P2  x="1257" y="171" id="834" />
+<P1  x="1333" y="181" id="876" />
+<P2  x="1257" y="145" id="861" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="126" id="98" >
 <cdparam x="390" y="507" />
 <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="1335" y="458" id="704" />
-<P2  x="1249" y="450" id="719" />
+<P1  x="1335" y="458" id="761" />
+<P2  x="1249" y="424" id="746" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="126" id="99" >
 <cdparam x="1161" y="396" />
 <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="989" y="321" id="514" />
-<P2  x="912" y="311" id="529" />
+<P1  x="989" y="321" id="512" />
+<P2  x="912" y="285" id="497" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="126" id="100" >
 <cdparam x="1160" y="500" />
 <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="729" y="327" id="378" />
-<P2  x="639" y="312" id="393" />
+<P1  x="729" y="327" id="397" />
+<P2  x="639" y="286" id="382" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="126" id="101" >
 <cdparam x="755" y="498" />
 <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="442" y="319" id="263" />
-<P2  x="350" y="303" id="278" />
+<P1  x="442" y="319" id="282" />
+<P2  x="350" y="277" id="267" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="126" id="102" >
 <cdparam x="217" y="495" />
 <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="108" y="320" id="171" />
-<P2  x="53" y="302" id="184" />
+<P1  x="108" y="320" id="186" />
+<P2  x="53" y="276" id="173" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <COMPONENT type="301" id="119" >
@@ -767,7 +767,7 @@ processing tasks
 </COMPONENT>
 <SUBCOMPONENT type="1201" id="170" >
 <father id="224" num="0" />
-<cdparam x="218" y="368" />
+<cdparam x="218" y="245" />
 <sizeparam width="26" height="26" minWidth="10" minHeight="10" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="-13" maxX="218" minY="-13" maxY="241" />
@@ -793,11 +793,11 @@ processing tasks
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1202" id="183" >
 <father id="224" num="1" />
-<cdparam x="2" y="333" />
-<sizeparam width="185" height="74" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="18" y="208" />
+<sizeparam width="136" height="81" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="46" minY="0" maxY="180" />
-<infoparam name="Primitive component" value="F_Source" />
+<cdrectangleparam minX="0" maxX="95" minY="0" maxY="173" />
+<infoparam name="Primitive component" value="X_Source" />
 <TGConnectingPoint num="0" id="175" />
 <TGConnectingPoint num="1" id="176" />
 <TGConnectingPoint num="2" id="177" />
@@ -808,20 +808,20 @@ processing tasks
 <TGConnectingPoint num="7" id="182" />
 <extraparam>
 <Data isAttacker="No" />
-<Attribute access="2" id="size" value="127" type="0" typeOther="" />
+<Attribute access="2" id="size" value="" type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1203" id="172" >
 <father id="183" num="0" />
-<cdparam x="95" y="320" />
+<cdparam x="141" y="245" />
 <sizeparam width="26" height="26" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-13" maxX="172" minY="-13" maxY="61" />
-<infoparam name="Primitive port" value="Request source_req" />
+<cdrectangleparam minX="-13" maxX="123" minY="-13" maxY="68" />
+<infoparam name="Primitive port" value="Channel Source_ch_out" />
 <TGConnectingPoint num="0" id="171" />
 <extraparam>
-<Prop commName="source_req" commType="2" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
-<Type type="1" typeOther="" />
+<Prop commName="Source_ch_out" commType="0" origin="true" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="true" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="uint_16" associatedEvent="Source_evt_out" 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="" />
@@ -830,14 +830,14 @@ processing tasks
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1203" id="174" >
 <father id="183" num="1" />
-<cdparam x="174" y="368" />
+<cdparam x="40" y="276" />
 <sizeparam width="26" height="26" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-13" maxX="172" minY="-13" maxY="61" />
-<infoparam name="Primitive port" value="Event Source_evt_out" />
+<cdrectangleparam minX="-13" maxX="123" minY="-13" maxY="68" />
+<infoparam name="Primitive port" value="Request source_req" />
 <TGConnectingPoint num="0" id="173" />
 <extraparam>
-<Prop commName="Source_evt_out" commType="1" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<Prop commName="source_req" commType="2" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
 <Type type="1" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -847,11 +847,11 @@ processing tasks
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1202" id="196" >
 <father id="224" num="2" />
-<cdparam x="18" y="208" />
-<sizeparam width="136" height="81" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="2" y="333" />
+<sizeparam width="185" height="74" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="95" minY="0" maxY="173" />
-<infoparam name="Primitive component" value="X_Source" />
+<cdrectangleparam minX="0" maxX="46" minY="0" maxY="180" />
+<infoparam name="Primitive component" value="F_Source" />
 <TGConnectingPoint num="0" id="188" />
 <TGConnectingPoint num="1" id="189" />
 <TGConnectingPoint num="2" id="190" />
@@ -862,19 +862,19 @@ processing tasks
 <TGConnectingPoint num="7" id="195" />
 <extraparam>
 <Data isAttacker="No" />
-<Attribute access="2" id="size" value="" type="0" typeOther="" />
+<Attribute access="2" id="size" value="127" type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1203" id="185" >
 <father id="196" num="0" />
-<cdparam x="40" y="276" />
+<cdparam x="174" y="368" />
 <sizeparam width="26" height="26" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-13" maxX="123" minY="-13" maxY="68" />
-<infoparam name="Primitive port" value="Request source_req" />
+<cdrectangleparam minX="-13" maxX="172" minY="-13" maxY="61" />
+<infoparam name="Primitive port" value="Event Source_evt_out" />
 <TGConnectingPoint num="0" id="184" />
 <extraparam>
-<Prop commName="source_req" commType="2" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<Prop commName="Source_evt_out" commType="1" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
 <Type type="1" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -884,15 +884,15 @@ processing tasks
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1203" id="187" >
 <father id="196" num="1" />
-<cdparam x="141" y="245" />
+<cdparam x="95" y="320" />
 <sizeparam width="26" height="26" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-13" maxX="123" minY="-13" maxY="68" />
-<infoparam name="Primitive port" value="Channel Source_ch_out" />
+<cdrectangleparam minX="-13" maxX="172" minY="-13" maxY="61" />
+<infoparam name="Primitive port" value="Request source_req" />
 <TGConnectingPoint num="0" id="186" />
 <extraparam>
-<Prop commName="Source_ch_out" commType="0" origin="true" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="true" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="uint_16" associatedEvent="Source_evt_out" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
-<Type type="0" typeOther="" />
+<Prop commName="source_req" commType="2" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<Type type="1" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -901,7 +901,7 @@ processing tasks
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1201" id="215" >
 <father id="224" num="3" />
-<cdparam x="218" y="245" />
+<cdparam x="218" y="368" />
 <sizeparam width="26" height="26" minWidth="10" minHeight="10" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="-13" maxX="218" minY="-13" maxY="241" />
@@ -946,7 +946,7 @@ processing tasks
 </COMPONENT>
 <SUBCOMPONENT type="1201" id="243" >
 <father id="339" num="0" />
-<cdparam x="262" y="368" />
+<cdparam x="503" y="373" />
 <sizeparam width="26" height="26" minWidth="10" minHeight="10" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="-13" maxX="228" minY="-13" maxY="246" />
@@ -972,7 +972,7 @@ processing tasks
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1201" id="262" >
 <father id="339" num="1" />
-<cdparam x="262" y="245" />
+<cdparam x="503" y="256" />
 <sizeparam width="26" height="26" minWidth="10" minHeight="10" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="-13" maxX="228" minY="-13" maxY="246" />
@@ -998,11 +998,11 @@ processing tasks
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1202" id="277" >
 <father id="339" num="2" />
-<cdparam x="316" y="332" />
-<sizeparam width="154" height="81" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="317" y="208" />
+<sizeparam width="156" height="82" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="87" minY="0" maxY="178" />
-<infoparam name="Primitive component" value="F_Symbol2ChipSeq" />
+<cdrectangleparam minX="0" maxX="85" minY="0" maxY="177" />
+<infoparam name="Primitive component" value="X_Symbol2ChipSeq" />
 <TGConnectingPoint num="0" id="269" />
 <TGConnectingPoint num="1" id="270" />
 <TGConnectingPoint num="2" id="271" />
@@ -1018,15 +1018,15 @@ processing tasks
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1203" id="264" >
 <father id="277" num="0" />
-<cdparam x="429" y="319" />
+<cdparam x="460" y="256" />
 <sizeparam width="26" height="26" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-13" maxX="141" minY="-13" maxY="68" />
-<infoparam name="Primitive port" value="Request bit2chip_req" />
+<cdrectangleparam minX="-13" maxX="143" minY="-13" maxY="69" />
+<infoparam name="Primitive port" value="Channel symbol2ChipSeq_ch_out" />
 <TGConnectingPoint num="0" id="263" />
 <extraparam>
-<Prop commName="bit2chip_req" commType="2" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
-<Type type="1" typeOther="" />
+<Prop commName="symbol2ChipSeq_ch_out" commType="0" origin="true" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="uint_16" associatedEvent="bit2chip_evt_out" 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="" />
@@ -1035,15 +1035,15 @@ processing tasks
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1203" id="266" >
 <father id="277" num="1" />
-<cdparam x="303" y="368" />
+<cdparam x="304" y="245" />
 <sizeparam width="26" height="26" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-13" maxX="141" minY="-13" maxY="68" />
-<infoparam name="Primitive port" value="Event bit2symbol_evt_in" />
+<cdrectangleparam minX="-13" maxX="143" minY="-13" maxY="69" />
+<infoparam name="Primitive port" value="Channel symbol2ChipSeq_ch_in" />
 <TGConnectingPoint num="0" id="265" />
 <extraparam>
-<Prop commName="bit2symbol_evt_in" commType="1" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="uint_16" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
-<Type type="1" typeOther="" />
+<Prop commName="symbol2ChipSeq_ch_in" commType="0" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="uint_16" associatedEvent="bit2chip_evt_in" 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="" />
@@ -1052,14 +1052,14 @@ processing tasks
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1203" id="268" >
 <father id="277" num="2" />
-<cdparam x="457" y="373" />
+<cdparam x="337" y="277" />
 <sizeparam width="26" height="26" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-13" maxX="141" minY="-13" maxY="68" />
-<infoparam name="Primitive port" value="Event bit2symbol_evt_out" />
+<cdrectangleparam minX="-13" maxX="143" minY="-13" maxY="69" />
+<infoparam name="Primitive port" value="Request bit2chip_req" />
 <TGConnectingPoint num="0" id="267" />
 <extraparam>
-<Prop commName="bit2symbol_evt_out" commType="1" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="uint_16" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<Prop commName="bit2chip_req" commType="2" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
 <Type type="1" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -1069,11 +1069,11 @@ processing tasks
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1202" id="292" >
 <father id="339" num="3" />
-<cdparam x="317" y="208" />
-<sizeparam width="156" height="82" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="316" y="332" />
+<sizeparam width="154" height="81" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="85" minY="0" maxY="177" />
-<infoparam name="Primitive component" value="X_Symbol2ChipSeq" />
+<cdrectangleparam minX="0" maxX="87" minY="0" maxY="178" />
+<infoparam name="Primitive component" value="F_Symbol2ChipSeq" />
 <TGConnectingPoint num="0" id="284" />
 <TGConnectingPoint num="1" id="285" />
 <TGConnectingPoint num="2" id="286" />
@@ -1089,14 +1089,14 @@ processing tasks
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1203" id="279" >
 <father id="292" num="0" />
-<cdparam x="337" y="277" />
+<cdparam x="457" y="373" />
 <sizeparam width="26" height="26" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-13" maxX="143" minY="-13" maxY="69" />
-<infoparam name="Primitive port" value="Request bit2chip_req" />
+<cdrectangleparam minX="-13" maxX="141" minY="-13" maxY="68" />
+<infoparam name="Primitive port" value="Event bit2symbol_evt_out" />
 <TGConnectingPoint num="0" id="278" />
 <extraparam>
-<Prop commName="bit2chip_req" commType="2" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<Prop commName="bit2symbol_evt_out" commType="1" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="uint_16" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
 <Type type="1" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -1106,15 +1106,15 @@ processing tasks
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1203" id="281" >
 <father id="292" num="1" />
-<cdparam x="304" y="245" />
+<cdparam x="303" y="368" />
 <sizeparam width="26" height="26" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-13" maxX="143" minY="-13" maxY="69" />
-<infoparam name="Primitive port" value="Channel symbol2ChipSeq_ch_in" />
+<cdrectangleparam minX="-13" maxX="141" minY="-13" maxY="68" />
+<infoparam name="Primitive port" value="Event bit2symbol_evt_in" />
 <TGConnectingPoint num="0" id="280" />
 <extraparam>
-<Prop commName="symbol2ChipSeq_ch_in" commType="0" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="uint_16" associatedEvent="bit2chip_evt_in" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
-<Type type="0" typeOther="" />
+<Prop commName="bit2symbol_evt_in" commType="1" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="uint_16" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<Type type="1" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -1123,15 +1123,15 @@ processing tasks
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1203" id="283" >
 <father id="292" num="2" />
-<cdparam x="460" y="256" />
+<cdparam x="429" y="319" />
 <sizeparam width="26" height="26" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-13" maxX="143" minY="-13" maxY="69" />
-<infoparam name="Primitive port" value="Channel symbol2ChipSeq_ch_out" />
+<cdrectangleparam minX="-13" maxX="141" minY="-13" maxY="68" />
+<infoparam name="Primitive port" value="Request bit2chip_req" />
 <TGConnectingPoint num="0" id="282" />
 <extraparam>
-<Prop commName="symbol2ChipSeq_ch_out" commType="0" origin="true" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="uint_16" associatedEvent="bit2chip_evt_out" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
-<Type type="0" typeOther="" />
+<Prop commName="bit2chip_req" commType="2" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<Type type="1" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -1140,7 +1140,7 @@ processing tasks
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1201" id="311" >
 <father id="339" num="4" />
-<cdparam x="503" y="256" />
+<cdparam x="262" y="245" />
 <sizeparam width="26" height="26" minWidth="10" minHeight="10" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="-13" maxX="228" minY="-13" maxY="246" />
@@ -1166,7 +1166,7 @@ processing tasks
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1201" id="330" >
 <father id="339" num="5" />
-<cdparam x="503" y="373" />
+<cdparam x="262" y="368" />
 <sizeparam width="26" height="26" minWidth="10" minHeight="10" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="-13" maxX="228" minY="-13" maxY="246" />
@@ -1211,7 +1211,7 @@ processing tasks
 </COMPONENT>
 <SUBCOMPONENT type="1201" id="358" >
 <father id="454" num="0" />
-<cdparam x="786" y="374" />
+<cdparam x="542" y="373" />
 <sizeparam width="26" height="26" minWidth="10" minHeight="10" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="-13" maxX="231" minY="-13" maxY="249" />
@@ -1237,7 +1237,7 @@ processing tasks
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1201" id="377" >
 <father id="454" num="1" />
-<cdparam x="786" y="248" />
+<cdparam x="542" y="256" />
 <sizeparam width="26" height="26" minWidth="10" minHeight="10" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="-13" maxX="231" minY="-13" maxY="249" />
@@ -1263,11 +1263,11 @@ processing tasks
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1202" id="392" >
 <father id="454" num="2" />
-<cdparam x="597" y="340" />
-<sizeparam width="159" height="73" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="598" y="214" />
+<sizeparam width="156" height="85" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="85" minY="0" maxY="189" />
-<infoparam name="Primitive component" value="F_Chip2Octet" />
+<cdrectangleparam minX="0" maxX="88" minY="0" maxY="177" />
+<infoparam name="Primitive component" value="X_Chip2Octet" />
 <TGConnectingPoint num="0" id="384" />
 <TGConnectingPoint num="1" id="385" />
 <TGConnectingPoint num="2" id="386" />
@@ -1283,15 +1283,15 @@ processing tasks
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1203" id="379" >
 <father id="392" num="0" />
-<cdparam x="716" y="327" />
+<cdparam x="741" y="248" />
 <sizeparam width="26" height="26" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-13" maxX="146" minY="-13" maxY="60" />
-<infoparam name="Primitive port" value="Request chip2octet_req" />
+<cdrectangleparam minX="-13" maxX="143" minY="-13" maxY="72" />
+<infoparam name="Primitive port" value="Channel chip2octet_ch_out" />
 <TGConnectingPoint num="0" id="378" />
 <extraparam>
-<Prop commName="chip2octet_req" commType="2" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
-<Type type="1" typeOther="" />
+<Prop commName="chip2octet_ch_out" commType="0" origin="true" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="uint_16" associatedEvent="chip2octet_evt_out" 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="" />
@@ -1300,15 +1300,15 @@ processing tasks
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1203" id="381" >
 <father id="392" num="1" />
-<cdparam x="584" y="373" />
+<cdparam x="585" y="256" />
 <sizeparam width="26" height="26" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-13" maxX="146" minY="-13" maxY="60" />
-<infoparam name="Primitive port" value="Event chip2octet_evt_in" />
+<cdrectangleparam minX="-13" maxX="143" minY="-13" maxY="72" />
+<infoparam name="Primitive port" value="Channel chip2octet_ch_in" />
 <TGConnectingPoint num="0" id="380" />
 <extraparam>
-<Prop commName="chip2octet_evt_in" commType="1" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
-<Type type="1" typeOther="" />
+<Prop commName="chip2octet_ch_in" commType="0" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="uint_16" associatedEvent="chip2octet_evt_in" 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="" />
@@ -1317,14 +1317,14 @@ processing tasks
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1203" id="383" >
 <father id="392" num="2" />
-<cdparam x="743" y="374" />
+<cdparam x="626" y="286" />
 <sizeparam width="26" height="26" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-13" maxX="146" minY="-13" maxY="60" />
-<infoparam name="Primitive port" value="Event chip2octet_evt_out" />
+<cdrectangleparam minX="-13" maxX="143" minY="-13" maxY="72" />
+<infoparam name="Primitive port" value="Request chip2octet_req" />
 <TGConnectingPoint num="0" id="382" />
 <extraparam>
-<Prop commName="chip2octet_evt_out" commType="1" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="uint_16" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<Prop commName="chip2octet_req" commType="2" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
 <Type type="1" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -1334,11 +1334,11 @@ processing tasks
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1202" id="407" >
 <father id="454" num="3" />
-<cdparam x="598" y="214" />
-<sizeparam width="156" height="85" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="597" y="340" />
+<sizeparam width="159" height="73" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="88" minY="0" maxY="177" />
-<infoparam name="Primitive component" value="X_Chip2Octet" />
+<cdrectangleparam minX="0" maxX="85" minY="0" maxY="189" />
+<infoparam name="Primitive component" value="F_Chip2Octet" />
 <TGConnectingPoint num="0" id="399" />
 <TGConnectingPoint num="1" id="400" />
 <TGConnectingPoint num="2" id="401" />
@@ -1354,14 +1354,14 @@ processing tasks
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1203" id="394" >
 <father id="407" num="0" />
-<cdparam x="626" y="286" />
+<cdparam x="743" y="374" />
 <sizeparam width="26" height="26" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-13" maxX="143" minY="-13" maxY="72" />
-<infoparam name="Primitive port" value="Request chip2octet_req" />
+<cdrectangleparam minX="-13" maxX="146" minY="-13" maxY="60" />
+<infoparam name="Primitive port" value="Event chip2octet_evt_out" />
 <TGConnectingPoint num="0" id="393" />
 <extraparam>
-<Prop commName="chip2octet_req" commType="2" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<Prop commName="chip2octet_evt_out" commType="1" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="uint_16" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
 <Type type="1" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -1371,15 +1371,15 @@ processing tasks
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1203" id="396" >
 <father id="407" num="1" />
-<cdparam x="585" y="256" />
+<cdparam x="584" y="373" />
 <sizeparam width="26" height="26" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-13" maxX="143" minY="-13" maxY="72" />
-<infoparam name="Primitive port" value="Channel chip2octet_ch_in" />
+<cdrectangleparam minX="-13" maxX="146" minY="-13" maxY="60" />
+<infoparam name="Primitive port" value="Event chip2octet_evt_in" />
 <TGConnectingPoint num="0" id="395" />
 <extraparam>
-<Prop commName="chip2octet_ch_in" commType="0" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="uint_16" associatedEvent="chip2octet_evt_in" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
-<Type type="0" typeOther="" />
+<Prop commName="chip2octet_evt_in" commType="1" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<Type type="1" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -1388,15 +1388,15 @@ processing tasks
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1203" id="398" >
 <father id="407" num="2" />
-<cdparam x="741" y="248" />
+<cdparam x="716" y="327" />
 <sizeparam width="26" height="26" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-13" maxX="143" minY="-13" maxY="72" />
-<infoparam name="Primitive port" value="Channel chip2octet_ch_out" />
+<cdrectangleparam minX="-13" maxX="146" minY="-13" maxY="60" />
+<infoparam name="Primitive port" value="Request chip2octet_req" />
 <TGConnectingPoint num="0" id="397" />
 <extraparam>
-<Prop commName="chip2octet_ch_out" commType="0" origin="true" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="uint_16" associatedEvent="chip2octet_evt_out" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
-<Type type="0" typeOther="" />
+<Prop commName="chip2octet_req" commType="2" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<Type type="1" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -1405,7 +1405,7 @@ processing tasks
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1201" id="426" >
 <father id="454" num="4" />
-<cdparam x="542" y="256" />
+<cdparam x="786" y="248" />
 <sizeparam width="26" height="26" minWidth="10" minHeight="10" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="-13" maxX="231" minY="-13" maxY="249" />
@@ -1431,7 +1431,7 @@ processing tasks
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1201" id="445" >
 <father id="454" num="5" />
-<cdparam x="542" y="373" />
+<cdparam x="786" y="374" />
 <sizeparam width="26" height="26" minWidth="10" minHeight="10" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="-13" maxX="231" minY="-13" maxY="249" />
@@ -1476,7 +1476,7 @@ processing tasks
 </COMPONENT>
 <SUBCOMPONENT type="1201" id="473" >
 <father id="590" num="0" />
-<cdparam x="1033" y="230" />
+<cdparam x="1033" 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="195" minY="-13" maxY="268" />
@@ -1502,7 +1502,7 @@ processing tasks
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1201" id="492" >
 <father id="590" num="1" />
-<cdparam x="825" y="374" />
+<cdparam x="1033" y="395" />
 <sizeparam width="26" height="26" minWidth="10" minHeight="10" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="-13" maxX="195" minY="-13" maxY="268" />
@@ -1526,96 +1526,70 @@ processing tasks
 <TGConnectingPoint num="16" id="490" />
 <TGConnectingPoint num="17" id="491" />
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1201" id="511" >
+<SUBCOMPONENT type="1202" id="507" >
 <father id="590" num="2" />
-<cdparam x="825" y="248" />
-<sizeparam width="26" height="26" minWidth="10" minHeight="10" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="876" y="202" />
+<sizeparam width="134" height="96" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-13" maxX="195" minY="-13" maxY="268" />
-<infoparam name="Composite port" value="" />
-<TGConnectingPoint num="0" id="493" />
-<TGConnectingPoint num="1" id="494" />
-<TGConnectingPoint num="2" id="495" />
-<TGConnectingPoint num="3" id="496" />
-<TGConnectingPoint num="4" id="497" />
-<TGConnectingPoint num="5" id="498" />
-<TGConnectingPoint num="6" id="499" />
-<TGConnectingPoint num="7" id="500" />
-<TGConnectingPoint num="8" id="501" />
-<TGConnectingPoint num="9" id="502" />
-<TGConnectingPoint num="10" id="503" />
-<TGConnectingPoint num="11" id="504" />
-<TGConnectingPoint num="12" id="505" />
-<TGConnectingPoint num="13" id="506" />
-<TGConnectingPoint num="14" id="507" />
-<TGConnectingPoint num="15" id="508" />
-<TGConnectingPoint num="16" id="509" />
-<TGConnectingPoint num="17" id="510" />
-</SUBCOMPONENT>
-<SUBCOMPONENT type="1202" id="528" >
-<father id="590" num="3" />
-<cdparam x="874" y="334" />
-<sizeparam width="134" height="92" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<hidden value="false" />
-<cdrectangleparam minX="0" maxX="74" minY="0" maxY="189" />
-<infoparam name="Primitive component" value="F_CWL" />
-<TGConnectingPoint num="0" id="520" />
-<TGConnectingPoint num="1" id="521" />
-<TGConnectingPoint num="2" id="522" />
-<TGConnectingPoint num="3" id="523" />
-<TGConnectingPoint num="4" id="524" />
-<TGConnectingPoint num="5" id="525" />
-<TGConnectingPoint num="6" id="526" />
-<TGConnectingPoint num="7" id="527" />
+<cdrectangleparam minX="0" maxX="74" minY="0" maxY="185" />
+<infoparam name="Primitive component" value="X_CWL" />
+<TGConnectingPoint num="0" id="499" />
+<TGConnectingPoint num="1" id="500" />
+<TGConnectingPoint num="2" id="501" />
+<TGConnectingPoint num="3" id="502" />
+<TGConnectingPoint num="4" id="503" />
+<TGConnectingPoint num="5" id="504" />
+<TGConnectingPoint num="6" id="505" />
+<TGConnectingPoint num="7" id="506" />
 <extraparam>
 <Data isAttacker="No" />
 <Attribute access="2" id="size" value="" type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="513" >
-<father id="528" num="0" />
-<cdparam x="995" y="395" />
+<SUBCOMPONENT type="1203" id="494" >
+<father id="507" num="0" />
+<cdparam x="863" y="248" />
 <sizeparam width="26" height="26" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-13" maxX="121" minY="-13" maxY="79" />
-<infoparam name="Primitive port" value="Event cwl_evt_out_1" />
-<TGConnectingPoint num="0" id="512" />
+<cdrectangleparam minX="-13" maxX="121" minY="-13" maxY="83" />
+<infoparam name="Primitive port" value="Channel cwl_ch_in" />
+<TGConnectingPoint num="0" id="493" />
 <extraparam>
-<Prop commName="cwl_evt_out_1" commType="1" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="uint_16" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
-<Type type="1" typeOther="" />
+<Prop commName="cwl_ch_in" commType="0" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="uint_16" associatedEvent="cwl_evt_in" 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="515" >
-<father id="528" num="1" />
-<cdparam x="976" y="321" />
+<SUBCOMPONENT type="1203" id="496" >
+<father id="507" num="1" />
+<cdparam x="997" y="230" />
 <sizeparam width="26" height="26" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-13" maxX="121" minY="-13" maxY="79" />
-<infoparam name="Primitive port" value="Request cwl_req" />
-<TGConnectingPoint num="0" id="514" />
+<cdrectangleparam minX="-13" maxX="121" minY="-13" maxY="83" />
+<infoparam name="Primitive port" value="Channel cwl_ch_out" />
+<TGConnectingPoint num="0" id="495" />
 <extraparam>
-<Prop commName="cwl_req" commType="2" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
-<Type type="1" typeOther="" />
+<Prop commName="cwl_ch_out" commType="0" origin="true" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="uint_16" associatedEvent="cwl_evt_out" 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="517" >
-<father id="528" num="2" />
-<cdparam x="995" y="363" />
+<SUBCOMPONENT type="1203" id="498" >
+<father id="507" num="2" />
+<cdparam x="899" y="285" />
 <sizeparam width="26" height="26" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-13" maxX="121" minY="-13" maxY="79" />
-<infoparam name="Primitive port" value="Event cwl_evt_out" />
-<TGConnectingPoint num="0" id="516" />
+<cdrectangleparam minX="-13" maxX="121" minY="-13" maxY="83" />
+<infoparam name="Primitive port" value="Request cwl_req" />
+<TGConnectingPoint num="0" id="497" />
 <extraparam>
-<Prop commName="cwl_evt_out" commType="1" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="uint_16" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<Prop commName="cwl_req" commType="2" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
 <Type type="1" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -1623,14 +1597,34 @@ processing tasks
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="519" >
-<father id="528" num="3" />
+<SUBCOMPONENT type="1202" id="524" >
+<father id="590" num="3" />
+<cdparam x="874" y="334" />
+<sizeparam width="134" height="92" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="0" maxX="74" minY="0" maxY="189" />
+<infoparam name="Primitive component" value="F_CWL" />
+<TGConnectingPoint num="0" id="516" />
+<TGConnectingPoint num="1" id="517" />
+<TGConnectingPoint num="2" id="518" />
+<TGConnectingPoint num="3" id="519" />
+<TGConnectingPoint num="4" id="520" />
+<TGConnectingPoint num="5" id="521" />
+<TGConnectingPoint num="6" id="522" />
+<TGConnectingPoint num="7" id="523" />
+<extraparam>
+<Data isAttacker="No" />
+<Attribute access="2" id="size" value="" type="0" typeOther="" />
+</extraparam>
+</SUBCOMPONENT>
+<SUBCOMPONENT type="1203" id="509" >
+<father id="524" num="0" />
 <cdparam x="861" y="374" />
 <sizeparam width="26" height="26" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="-13" maxX="121" minY="-13" maxY="79" />
 <infoparam name="Primitive port" value="Event cwl_evt_in" />
-<TGConnectingPoint num="0" id="518" />
+<TGConnectingPoint num="0" id="508" />
 <extraparam>
 <Prop commName="cwl_evt_in" commType="1" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
 <Type type="1" typeOther="" />
@@ -1640,36 +1634,16 @@ processing tasks
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1202" id="543" >
-<father id="590" num="4" />
-<cdparam x="876" y="202" />
-<sizeparam width="134" height="96" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<hidden value="false" />
-<cdrectangleparam minX="0" maxX="74" minY="0" maxY="185" />
-<infoparam name="Primitive component" value="X_CWL" />
-<TGConnectingPoint num="0" id="535" />
-<TGConnectingPoint num="1" id="536" />
-<TGConnectingPoint num="2" id="537" />
-<TGConnectingPoint num="3" id="538" />
-<TGConnectingPoint num="4" id="539" />
-<TGConnectingPoint num="5" id="540" />
-<TGConnectingPoint num="6" id="541" />
-<TGConnectingPoint num="7" id="542" />
-<extraparam>
-<Data isAttacker="No" />
-<Attribute access="2" id="size" value="" type="0" typeOther="" />
-</extraparam>
-</SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="530" >
-<father id="543" num="0" />
-<cdparam x="899" y="285" />
+<SUBCOMPONENT type="1203" id="511" >
+<father id="524" num="1" />
+<cdparam x="995" y="363" />
 <sizeparam width="26" height="26" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-13" maxX="121" minY="-13" maxY="83" />
-<infoparam name="Primitive port" value="Request cwl_req" />
-<TGConnectingPoint num="0" id="529" />
+<cdrectangleparam minX="-13" maxX="121" minY="-13" maxY="79" />
+<infoparam name="Primitive port" value="Event cwl_evt_out" />
+<TGConnectingPoint num="0" id="510" />
 <extraparam>
-<Prop commName="cwl_req" commType="2" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<Prop commName="cwl_evt_out" commType="1" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="uint_16" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
 <Type type="1" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -1677,43 +1651,69 @@ processing tasks
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="532" >
-<father id="543" num="1" />
-<cdparam x="997" y="230" />
+<SUBCOMPONENT type="1203" id="513" >
+<father id="524" num="2" />
+<cdparam x="976" y="321" />
 <sizeparam width="26" height="26" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-13" maxX="121" minY="-13" maxY="83" />
-<infoparam name="Primitive port" value="Channel cwl_ch_out" />
-<TGConnectingPoint num="0" id="531" />
+<cdrectangleparam minX="-13" maxX="121" minY="-13" maxY="79" />
+<infoparam name="Primitive port" value="Request cwl_req" />
+<TGConnectingPoint num="0" id="512" />
 <extraparam>
-<Prop commName="cwl_ch_out" commType="0" origin="true" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="uint_16" associatedEvent="cwl_evt_out" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
-<Type type="0" typeOther="" />
+<Prop commName="cwl_req" commType="2" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<Type type="1" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="534" >
-<father id="543" num="2" />
-<cdparam x="863" y="248" />
+<SUBCOMPONENT type="1203" id="515" >
+<father id="524" num="3" />
+<cdparam x="995" y="395" />
 <sizeparam width="26" height="26" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-13" maxX="121" minY="-13" maxY="83" />
-<infoparam name="Primitive port" value="Channel cwl_ch_in" />
-<TGConnectingPoint num="0" id="533" />
+<cdrectangleparam minX="-13" maxX="121" minY="-13" maxY="79" />
+<infoparam name="Primitive port" value="Event cwl_evt_out_1" />
+<TGConnectingPoint num="0" id="514" />
 <extraparam>
-<Prop commName="cwl_ch_in" commType="0" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="uint_16" associatedEvent="cwl_evt_in" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
-<Type type="0" typeOther="" />
+<Prop commName="cwl_evt_out_1" commType="1" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="uint_16" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<Type type="1" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
+<SUBCOMPONENT type="1201" id="543" >
+<father id="590" num="4" />
+<cdparam x="825" y="248" />
+<sizeparam width="26" height="26" minWidth="10" minHeight="10" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="-13" maxX="195" minY="-13" maxY="268" />
+<infoparam name="Composite port" value="" />
+<TGConnectingPoint num="0" id="525" />
+<TGConnectingPoint num="1" id="526" />
+<TGConnectingPoint num="2" id="527" />
+<TGConnectingPoint num="3" id="528" />
+<TGConnectingPoint num="4" id="529" />
+<TGConnectingPoint num="5" id="530" />
+<TGConnectingPoint num="6" id="531" />
+<TGConnectingPoint num="7" id="532" />
+<TGConnectingPoint num="8" id="533" />
+<TGConnectingPoint num="9" id="534" />
+<TGConnectingPoint num="10" id="535" />
+<TGConnectingPoint num="11" id="536" />
+<TGConnectingPoint num="12" id="537" />
+<TGConnectingPoint num="13" id="538" />
+<TGConnectingPoint num="14" id="539" />
+<TGConnectingPoint num="15" id="540" />
+<TGConnectingPoint num="16" id="541" />
+<TGConnectingPoint num="17" id="542" />
+</SUBCOMPONENT>
 <SUBCOMPONENT type="1201" id="562" >
 <father id="590" num="5" />
-<cdparam x="1033" y="395" />
+<cdparam x="825" y="374" />
 <sizeparam width="26" height="26" minWidth="10" minHeight="10" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="-13" maxX="195" minY="-13" maxY="268" />
@@ -1739,7 +1739,7 @@ processing tasks
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1201" id="581" >
 <father id="590" num="6" />
-<cdparam x="1033" y="363" />
+<cdparam x="1033" y="230" />
 <sizeparam width="26" height="26" minWidth="10" minHeight="10" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="-13" maxX="195" minY="-13" maxY="268" />
@@ -1782,54 +1782,131 @@ processing tasks
 <info hiddeni="false" />
 </extraparam>
 </COMPONENT>
-<SUBCOMPONENT type="1202" id="605" >
+<SUBCOMPONENT type="1201" id="609" >
 <father id="684" num="0" />
-<cdparam x="1536" y="331" />
-<sizeparam width="153" height="94" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="1481" y="237" />
+<sizeparam width="26" height="26" minWidth="10" minHeight="10" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="55" minY="0" maxY="188" />
-<infoparam name="Primitive component" value="F_Sink" />
-<TGConnectingPoint num="0" id="597" />
-<TGConnectingPoint num="1" id="598" />
-<TGConnectingPoint num="2" id="599" />
-<TGConnectingPoint num="3" id="600" />
-<TGConnectingPoint num="4" id="601" />
-<TGConnectingPoint num="5" id="602" />
-<TGConnectingPoint num="6" id="603" />
-<TGConnectingPoint num="7" id="604" />
+<cdrectangleparam minX="-13" maxX="195" minY="-13" maxY="269" />
+<infoparam name="Composite port" value="" />
+<TGConnectingPoint num="0" id="591" />
+<TGConnectingPoint num="1" id="592" />
+<TGConnectingPoint num="2" id="593" />
+<TGConnectingPoint num="3" id="594" />
+<TGConnectingPoint num="4" id="595" />
+<TGConnectingPoint num="5" id="596" />
+<TGConnectingPoint num="6" id="597" />
+<TGConnectingPoint num="7" id="598" />
+<TGConnectingPoint num="8" id="599" />
+<TGConnectingPoint num="9" id="600" />
+<TGConnectingPoint num="10" id="601" />
+<TGConnectingPoint num="11" id="602" />
+<TGConnectingPoint num="12" id="603" />
+<TGConnectingPoint num="13" id="604" />
+<TGConnectingPoint num="14" id="605" />
+<TGConnectingPoint num="15" id="606" />
+<TGConnectingPoint num="16" id="607" />
+<TGConnectingPoint num="17" id="608" />
+</SUBCOMPONENT>
+<SUBCOMPONENT type="1201" id="628" >
+<father id="684" num="1" />
+<cdparam x="1481" y="397" />
+<sizeparam width="26" height="26" minWidth="10" minHeight="10" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="-13" maxX="195" minY="-13" maxY="269" />
+<infoparam name="Composite port" value="" />
+<TGConnectingPoint num="0" id="610" />
+<TGConnectingPoint num="1" id="611" />
+<TGConnectingPoint num="2" id="612" />
+<TGConnectingPoint num="3" id="613" />
+<TGConnectingPoint num="4" id="614" />
+<TGConnectingPoint num="5" id="615" />
+<TGConnectingPoint num="6" id="616" />
+<TGConnectingPoint num="7" id="617" />
+<TGConnectingPoint num="8" id="618" />
+<TGConnectingPoint num="9" id="619" />
+<TGConnectingPoint num="10" id="620" />
+<TGConnectingPoint num="11" id="621" />
+<TGConnectingPoint num="12" id="622" />
+<TGConnectingPoint num="13" id="623" />
+<TGConnectingPoint num="14" id="624" />
+<TGConnectingPoint num="15" id="625" />
+<TGConnectingPoint num="16" id="626" />
+<TGConnectingPoint num="17" id="627" />
+</SUBCOMPONENT>
+<SUBCOMPONENT type="1201" id="647" >
+<father id="684" num="2" />
+<cdparam x="1481" y="341" />
+<sizeparam width="26" height="26" minWidth="10" minHeight="10" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="-13" maxX="195" minY="-13" maxY="269" />
+<infoparam name="Composite port" value="" />
+<TGConnectingPoint num="0" id="629" />
+<TGConnectingPoint num="1" id="630" />
+<TGConnectingPoint num="2" id="631" />
+<TGConnectingPoint num="3" id="632" />
+<TGConnectingPoint num="4" id="633" />
+<TGConnectingPoint num="5" id="634" />
+<TGConnectingPoint num="6" id="635" />
+<TGConnectingPoint num="7" id="636" />
+<TGConnectingPoint num="8" id="637" />
+<TGConnectingPoint num="9" id="638" />
+<TGConnectingPoint num="10" id="639" />
+<TGConnectingPoint num="11" id="640" />
+<TGConnectingPoint num="12" id="641" />
+<TGConnectingPoint num="13" id="642" />
+<TGConnectingPoint num="14" id="643" />
+<TGConnectingPoint num="15" id="644" />
+<TGConnectingPoint num="16" id="645" />
+<TGConnectingPoint num="17" id="646" />
+</SUBCOMPONENT>
+<SUBCOMPONENT type="1202" id="660" >
+<father id="684" num="3" />
+<cdparam x="1535" y="205" />
+<sizeparam width="148" height="86" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="0" maxX="60" minY="0" maxY="196" />
+<infoparam name="Primitive component" value="X_Sink" />
+<TGConnectingPoint num="0" id="652" />
+<TGConnectingPoint num="1" id="653" />
+<TGConnectingPoint num="2" id="654" />
+<TGConnectingPoint num="3" id="655" />
+<TGConnectingPoint num="4" id="656" />
+<TGConnectingPoint num="5" id="657" />
+<TGConnectingPoint num="6" id="658" />
+<TGConnectingPoint num="7" id="659" />
 <extraparam>
 <Data isAttacker="No" />
 <Attribute access="2" id="size" value="" type="0" typeOther="" />
-<Attribute access="2" id="size_1" value="" type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="592" >
-<father id="605" num="0" />
-<cdparam x="1523" y="397" />
+<SUBCOMPONENT type="1203" id="649" >
+<father id="660" num="0" />
+<cdparam x="1522" y="237" />
 <sizeparam width="26" height="26" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-13" maxX="140" minY="-13" maxY="81" />
-<infoparam name="Primitive port" value="Event sink_evt_in_1" />
-<TGConnectingPoint num="0" id="591" />
+<cdrectangleparam minX="-13" maxX="135" minY="-13" maxY="73" />
+<infoparam name="Primitive port" value="Channel sink_ch_in" />
+<TGConnectingPoint num="0" id="648" />
 <extraparam>
-<Prop commName="sink_evt_in_1" commType="1" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="uint_16" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
-<Type type="1" typeOther="" />
+<Prop commName="sink_ch_in" commType="0" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="true" lossPercentage="0" maxNbOfLoss="0" dataFlowType="uint_16" associatedEvent="sink_evt_in" 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="594" >
-<father id="605" num="1" />
-<cdparam x="1644" y="318" />
+<SUBCOMPONENT type="1203" id="651" >
+<father id="660" num="1" />
+<cdparam x="1549" y="278" />
 <sizeparam width="26" height="26" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-13" maxX="140" minY="-13" maxY="81" />
+<cdrectangleparam minX="-13" maxX="135" minY="-13" maxY="73" />
 <infoparam name="Primitive port" value="Request sink_req" />
-<TGConnectingPoint num="0" id="593" />
+<TGConnectingPoint num="0" id="650" />
 <extraparam>
-<Prop commName="sink_req" commType="2" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<Prop commName="sink_req" commType="2" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
 <Type type="1" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -1837,14 +1914,35 @@ processing tasks
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="596" >
-<father id="605" num="2" />
+<SUBCOMPONENT type="1202" id="675" >
+<father id="684" num="4" />
+<cdparam x="1536" y="331" />
+<sizeparam width="153" height="94" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="0" maxX="55" minY="0" maxY="188" />
+<infoparam name="Primitive component" value="F_Sink" />
+<TGConnectingPoint num="0" id="667" />
+<TGConnectingPoint num="1" id="668" />
+<TGConnectingPoint num="2" id="669" />
+<TGConnectingPoint num="3" id="670" />
+<TGConnectingPoint num="4" id="671" />
+<TGConnectingPoint num="5" id="672" />
+<TGConnectingPoint num="6" id="673" />
+<TGConnectingPoint num="7" id="674" />
+<extraparam>
+<Data isAttacker="No" />
+<Attribute access="2" id="size" value="" type="0" typeOther="" />
+<Attribute access="2" id="size_1" value="" type="0" typeOther="" />
+</extraparam>
+</SUBCOMPONENT>
+<SUBCOMPONENT type="1203" id="662" >
+<father id="675" num="0" />
 <cdparam x="1523" y="341" />
 <sizeparam width="26" height="26" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="-13" maxX="140" minY="-13" maxY="81" />
 <infoparam name="Primitive port" value="Event sink_evt_in" />
-<TGConnectingPoint num="0" id="595" />
+<TGConnectingPoint num="0" id="661" />
 <extraparam>
 <Prop commName="sink_evt_in" commType="1" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="uint_16" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
 <Type type="1" typeOther="" />
@@ -1854,36 +1952,16 @@ processing tasks
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1202" id="618" >
-<father id="684" num="1" />
-<cdparam x="1535" y="205" />
-<sizeparam width="148" height="86" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<hidden value="false" />
-<cdrectangleparam minX="0" maxX="60" minY="0" maxY="196" />
-<infoparam name="Primitive component" value="X_Sink" />
-<TGConnectingPoint num="0" id="610" />
-<TGConnectingPoint num="1" id="611" />
-<TGConnectingPoint num="2" id="612" />
-<TGConnectingPoint num="3" id="613" />
-<TGConnectingPoint num="4" id="614" />
-<TGConnectingPoint num="5" id="615" />
-<TGConnectingPoint num="6" id="616" />
-<TGConnectingPoint num="7" id="617" />
-<extraparam>
-<Data isAttacker="No" />
-<Attribute access="2" id="size" value="" type="0" typeOther="" />
-</extraparam>
-</SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="607" >
-<father id="618" num="0" />
-<cdparam x="1549" y="278" />
+<SUBCOMPONENT type="1203" id="664" >
+<father id="675" num="1" />
+<cdparam x="1644" y="318" />
 <sizeparam width="26" height="26" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-13" maxX="135" minY="-13" maxY="73" />
+<cdrectangleparam minX="-13" maxX="140" minY="-13" maxY="81" />
 <infoparam name="Primitive port" value="Request sink_req" />
-<TGConnectingPoint num="0" id="606" />
+<TGConnectingPoint num="0" id="663" />
 <extraparam>
-<Prop commName="sink_req" commType="2" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<Prop commName="sink_req" commType="2" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
 <Type type="1" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -1891,101 +1969,23 @@ processing tasks
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="609" >
-<father id="618" num="1" />
-<cdparam x="1522" y="237" />
+<SUBCOMPONENT type="1203" id="666" >
+<father id="675" num="2" />
+<cdparam x="1523" y="397" />
 <sizeparam width="26" height="26" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-13" maxX="135" minY="-13" maxY="73" />
-<infoparam name="Primitive port" value="Channel sink_ch_in" />
-<TGConnectingPoint num="0" id="608" />
+<cdrectangleparam minX="-13" maxX="140" minY="-13" maxY="81" />
+<infoparam name="Primitive port" value="Event sink_evt_in_1" />
+<TGConnectingPoint num="0" id="665" />
 <extraparam>
-<Prop commName="sink_ch_in" commType="0" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="true" lossPercentage="0" maxNbOfLoss="0" dataFlowType="uint_16" associatedEvent="sink_evt_in" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
-<Type type="0" typeOther="" />
+<Prop commName="sink_evt_in_1" commType="1" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="uint_16" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<Type type="1" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1201" id="637" >
-<father id="684" num="2" />
-<cdparam x="1481" y="341" />
-<sizeparam width="26" height="26" minWidth="10" minHeight="10" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<hidden value="false" />
-<cdrectangleparam minX="-13" maxX="195" minY="-13" maxY="269" />
-<infoparam name="Composite port" value="" />
-<TGConnectingPoint num="0" id="619" />
-<TGConnectingPoint num="1" id="620" />
-<TGConnectingPoint num="2" id="621" />
-<TGConnectingPoint num="3" id="622" />
-<TGConnectingPoint num="4" id="623" />
-<TGConnectingPoint num="5" id="624" />
-<TGConnectingPoint num="6" id="625" />
-<TGConnectingPoint num="7" id="626" />
-<TGConnectingPoint num="8" id="627" />
-<TGConnectingPoint num="9" id="628" />
-<TGConnectingPoint num="10" id="629" />
-<TGConnectingPoint num="11" id="630" />
-<TGConnectingPoint num="12" id="631" />
-<TGConnectingPoint num="13" id="632" />
-<TGConnectingPoint num="14" id="633" />
-<TGConnectingPoint num="15" id="634" />
-<TGConnectingPoint num="16" id="635" />
-<TGConnectingPoint num="17" id="636" />
-</SUBCOMPONENT>
-<SUBCOMPONENT type="1201" id="656" >
-<father id="684" num="3" />
-<cdparam x="1481" y="397" />
-<sizeparam width="26" height="26" minWidth="10" minHeight="10" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<hidden value="false" />
-<cdrectangleparam minX="-13" maxX="195" minY="-13" maxY="269" />
-<infoparam name="Composite port" value="" />
-<TGConnectingPoint num="0" id="638" />
-<TGConnectingPoint num="1" id="639" />
-<TGConnectingPoint num="2" id="640" />
-<TGConnectingPoint num="3" id="641" />
-<TGConnectingPoint num="4" id="642" />
-<TGConnectingPoint num="5" id="643" />
-<TGConnectingPoint num="6" id="644" />
-<TGConnectingPoint num="7" id="645" />
-<TGConnectingPoint num="8" id="646" />
-<TGConnectingPoint num="9" id="647" />
-<TGConnectingPoint num="10" id="648" />
-<TGConnectingPoint num="11" id="649" />
-<TGConnectingPoint num="12" id="650" />
-<TGConnectingPoint num="13" id="651" />
-<TGConnectingPoint num="14" id="652" />
-<TGConnectingPoint num="15" id="653" />
-<TGConnectingPoint num="16" id="654" />
-<TGConnectingPoint num="17" id="655" />
-</SUBCOMPONENT>
-<SUBCOMPONENT type="1201" id="675" >
-<father id="684" num="4" />
-<cdparam x="1481" y="237" />
-<sizeparam width="26" height="26" minWidth="10" minHeight="10" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<hidden value="false" />
-<cdrectangleparam minX="-13" maxX="195" minY="-13" maxY="269" />
-<infoparam name="Composite port" value="" />
-<TGConnectingPoint num="0" id="657" />
-<TGConnectingPoint num="1" id="658" />
-<TGConnectingPoint num="2" id="659" />
-<TGConnectingPoint num="3" id="660" />
-<TGConnectingPoint num="4" id="661" />
-<TGConnectingPoint num="5" id="662" />
-<TGConnectingPoint num="6" id="663" />
-<TGConnectingPoint num="7" id="664" />
-<TGConnectingPoint num="8" id="665" />
-<TGConnectingPoint num="9" id="666" />
-<TGConnectingPoint num="10" id="667" />
-<TGConnectingPoint num="11" id="668" />
-<TGConnectingPoint num="12" id="669" />
-<TGConnectingPoint num="13" id="670" />
-<TGConnectingPoint num="14" id="671" />
-<TGConnectingPoint num="15" id="672" />
-<TGConnectingPoint num="16" id="673" />
-<TGConnectingPoint num="17" id="674" />
-</SUBCOMPONENT>
 
 <COMPONENT type="1200" id="799" >
 <cdparam x="1186" y="309" />
@@ -2007,7 +2007,7 @@ processing tasks
 </COMPONENT>
 <SUBCOMPONENT type="1201" id="703" >
 <father id="799" num="0" />
-<cdparam x="1173" y="375" />
+<cdparam x="1384" y="380" />
 <sizeparam width="26" height="26" minWidth="10" minHeight="10" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="-13" maxX="198" minY="-13" maxY="241" />
@@ -2031,70 +2031,122 @@ processing tasks
 <TGConnectingPoint num="16" id="701" />
 <TGConnectingPoint num="17" id="702" />
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1202" id="718" >
+<SUBCOMPONENT type="1201" id="722" >
 <father id="799" num="1" />
-<cdparam x="1224" y="471" />
-<sizeparam width="138" height="82" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="1384" y="510" />
+<sizeparam width="26" height="26" minWidth="10" minHeight="10" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="73" minY="0" maxY="172" />
-<infoparam name="Primitive component" value="F_CWP_Q" />
-<TGConnectingPoint num="0" id="710" />
-<TGConnectingPoint num="1" id="711" />
-<TGConnectingPoint num="2" id="712" />
-<TGConnectingPoint num="3" id="713" />
-<TGConnectingPoint num="4" id="714" />
-<TGConnectingPoint num="5" id="715" />
-<TGConnectingPoint num="6" id="716" />
-<TGConnectingPoint num="7" id="717" />
+<cdrectangleparam minX="-13" maxX="198" minY="-13" maxY="241" />
+<infoparam name="Composite port" value="" />
+<TGConnectingPoint num="0" id="704" />
+<TGConnectingPoint num="1" id="705" />
+<TGConnectingPoint num="2" id="706" />
+<TGConnectingPoint num="3" id="707" />
+<TGConnectingPoint num="4" id="708" />
+<TGConnectingPoint num="5" id="709" />
+<TGConnectingPoint num="6" id="710" />
+<TGConnectingPoint num="7" id="711" />
+<TGConnectingPoint num="8" id="712" />
+<TGConnectingPoint num="9" id="713" />
+<TGConnectingPoint num="10" id="714" />
+<TGConnectingPoint num="11" id="715" />
+<TGConnectingPoint num="12" id="716" />
+<TGConnectingPoint num="13" id="717" />
+<TGConnectingPoint num="14" id="718" />
+<TGConnectingPoint num="15" id="719" />
+<TGConnectingPoint num="16" id="720" />
+<TGConnectingPoint num="17" id="721" />
+</SUBCOMPONENT>
+<SUBCOMPONENT type="1201" id="741" >
+<father id="799" num="2" />
+<cdparam x="1173" y="487" />
+<sizeparam width="26" height="26" minWidth="10" minHeight="10" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="-13" maxX="198" minY="-13" maxY="241" />
+<infoparam name="Composite port" value="" />
+<TGConnectingPoint num="0" id="723" />
+<TGConnectingPoint num="1" id="724" />
+<TGConnectingPoint num="2" id="725" />
+<TGConnectingPoint num="3" id="726" />
+<TGConnectingPoint num="4" id="727" />
+<TGConnectingPoint num="5" id="728" />
+<TGConnectingPoint num="6" id="729" />
+<TGConnectingPoint num="7" id="730" />
+<TGConnectingPoint num="8" id="731" />
+<TGConnectingPoint num="9" id="732" />
+<TGConnectingPoint num="10" id="733" />
+<TGConnectingPoint num="11" id="734" />
+<TGConnectingPoint num="12" id="735" />
+<TGConnectingPoint num="13" id="736" />
+<TGConnectingPoint num="14" id="737" />
+<TGConnectingPoint num="15" id="738" />
+<TGConnectingPoint num="16" id="739" />
+<TGConnectingPoint num="17" id="740" />
+</SUBCOMPONENT>
+<SUBCOMPONENT type="1202" id="756" >
+<father id="799" num="3" />
+<cdparam x="1220" y="353" />
+<sizeparam width="144" height="84" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="0" maxX="67" minY="0" maxY="170" />
+<infoparam name="Primitive component" value="X_CWP_Q" />
+<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" />
 <extraparam>
 <Data isAttacker="No" />
 <Attribute access="2" id="size" value="" type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="705" >
-<father id="718" num="0" />
-<cdparam x="1322" y="458" />
+<SUBCOMPONENT type="1203" id="743" >
+<father id="756" num="0" />
+<cdparam x="1351" y="380" />
 <sizeparam width="26" height="26" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-13" maxX="125" minY="-13" maxY="69" />
-<infoparam name="Primitive port" value="Request cwpQ_req" />
-<TGConnectingPoint num="0" id="704" />
+<cdrectangleparam minX="-13" maxX="131" minY="-13" maxY="71" />
+<infoparam name="Primitive port" value="Channel cwpQ_ch_out" />
+<TGConnectingPoint num="0" id="742" />
 <extraparam>
-<Prop commName="cwpQ_req" commType="2" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
-<Type type="1" typeOther="" />
+<Prop commName="cwpQ_ch_out" commType="0" origin="true" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" 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="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="707" >
-<father id="718" num="1" />
-<cdparam x="1211" y="487" />
+<SUBCOMPONENT type="1203" id="745" >
+<father id="756" num="1" />
+<cdparam x="1207" y="375" />
 <sizeparam width="26" height="26" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<hidden value="false" />
-<cdrectangleparam minX="-13" maxX="125" minY="-13" maxY="69" />
-<infoparam name="Primitive port" value="Event cwpQ_evt_in" />
-<TGConnectingPoint num="0" id="706" />
+<hidden value="false" />
+<cdrectangleparam minX="-13" maxX="131" minY="-13" maxY="71" />
+<infoparam name="Primitive port" value="Channel cwpQ_ch_in" />
+<TGConnectingPoint num="0" id="744" />
 <extraparam>
-<Prop commName="cwpQ_evt_in" commType="1" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
-<Type type="1" typeOther="" />
+<Prop commName="cwpQ_ch_in" commType="0" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" 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="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="709" >
-<father id="718" num="2" />
-<cdparam x="1349" y="510" />
+<SUBCOMPONENT type="1203" id="747" >
+<father id="756" num="2" />
+<cdparam x="1236" y="424" />
 <sizeparam width="26" height="26" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-13" maxX="125" minY="-13" maxY="69" />
-<infoparam name="Primitive port" value="Event cwpQ_evt_out" />
-<TGConnectingPoint num="0" id="708" />
+<cdrectangleparam minX="-13" maxX="131" minY="-13" maxY="71" />
+<infoparam name="Primitive port" value="Request cwpQ_req" />
+<TGConnectingPoint num="0" id="746" />
 <extraparam>
-<Prop commName="cwpQ_evt_out" commType="1" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<Prop commName="cwpQ_req" commType="2" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
 <Type type="1" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -2102,36 +2154,36 @@ processing tasks
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1202" id="733" >
-<father id="799" num="2" />
-<cdparam x="1220" y="353" />
-<sizeparam width="144" height="84" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<SUBCOMPONENT type="1202" id="771" >
+<father id="799" num="4" />
+<cdparam x="1224" y="471" />
+<sizeparam width="138" height="82" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="67" minY="0" maxY="170" />
-<infoparam name="Primitive component" value="X_CWP_Q" />
-<TGConnectingPoint num="0" id="725" />
-<TGConnectingPoint num="1" id="726" />
-<TGConnectingPoint num="2" id="727" />
-<TGConnectingPoint num="3" id="728" />
-<TGConnectingPoint num="4" id="729" />
-<TGConnectingPoint num="5" id="730" />
-<TGConnectingPoint num="6" id="731" />
-<TGConnectingPoint num="7" id="732" />
+<cdrectangleparam minX="0" maxX="73" minY="0" maxY="172" />
+<infoparam name="Primitive component" value="F_CWP_Q" />
+<TGConnectingPoint num="0" id="763" />
+<TGConnectingPoint num="1" id="764" />
+<TGConnectingPoint num="2" id="765" />
+<TGConnectingPoint num="3" id="766" />
+<TGConnectingPoint num="4" id="767" />
+<TGConnectingPoint num="5" id="768" />
+<TGConnectingPoint num="6" id="769" />
+<TGConnectingPoint num="7" id="770" />
 <extraparam>
 <Data isAttacker="No" />
 <Attribute access="2" id="size" value="" type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="720" >
-<father id="733" num="0" />
-<cdparam x="1236" y="424" />
+<SUBCOMPONENT type="1203" id="758" >
+<father id="771" num="0" />
+<cdparam x="1349" y="510" />
 <sizeparam width="26" height="26" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-13" maxX="131" minY="-13" maxY="71" />
-<infoparam name="Primitive port" value="Request cwpQ_req" />
-<TGConnectingPoint num="0" id="719" />
+<cdrectangleparam minX="-13" maxX="125" minY="-13" maxY="69" />
+<infoparam name="Primitive port" value="Event cwpQ_evt_out" />
+<TGConnectingPoint num="0" id="757" />
 <extraparam>
-<Prop commName="cwpQ_req" commType="2" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<Prop commName="cwpQ_evt_out" commType="1" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
 <Type type="1" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -2139,95 +2191,43 @@ processing tasks
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="722" >
-<father id="733" num="1" />
-<cdparam x="1207" y="375" />
+<SUBCOMPONENT type="1203" id="760" >
+<father id="771" num="1" />
+<cdparam x="1211" y="487" />
 <sizeparam width="26" height="26" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-13" maxX="131" minY="-13" maxY="71" />
-<infoparam name="Primitive port" value="Channel cwpQ_ch_in" />
-<TGConnectingPoint num="0" id="721" />
+<cdrectangleparam minX="-13" maxX="125" minY="-13" maxY="69" />
+<infoparam name="Primitive port" value="Event cwpQ_evt_in" />
+<TGConnectingPoint num="0" id="759" />
 <extraparam>
-<Prop commName="cwpQ_ch_in" commType="0" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="uint_16" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
-<Type type="0" typeOther="" />
+<Prop commName="cwpQ_evt_in" commType="1" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<Type type="1" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="724" >
-<father id="733" num="2" />
-<cdparam x="1351" y="380" />
+<SUBCOMPONENT type="1203" id="762" >
+<father id="771" num="2" />
+<cdparam x="1322" y="458" />
 <sizeparam width="26" height="26" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-13" maxX="131" minY="-13" maxY="71" />
-<infoparam name="Primitive port" value="Channel cwpQ_ch_out" />
-<TGConnectingPoint num="0" id="723" />
+<cdrectangleparam minX="-13" maxX="125" minY="-13" maxY="69" />
+<infoparam name="Primitive port" value="Request cwpQ_req" />
+<TGConnectingPoint num="0" id="761" />
 <extraparam>
-<Prop commName="cwpQ_ch_out" commType="0" origin="true" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="uint_16" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
-<Type type="0" typeOther="" />
+<Prop commName="cwpQ_req" commType="2" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<Type type="1" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1201" id="752" >
-<father id="799" num="3" />
-<cdparam x="1173" y="487" />
-<sizeparam width="26" height="26" minWidth="10" minHeight="10" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<hidden value="false" />
-<cdrectangleparam minX="-13" maxX="198" minY="-13" maxY="241" />
-<infoparam name="Composite port" value="" />
-<TGConnectingPoint num="0" id="734" />
-<TGConnectingPoint num="1" id="735" />
-<TGConnectingPoint num="2" id="736" />
-<TGConnectingPoint num="3" id="737" />
-<TGConnectingPoint num="4" id="738" />
-<TGConnectingPoint num="5" id="739" />
-<TGConnectingPoint num="6" id="740" />
-<TGConnectingPoint num="7" id="741" />
-<TGConnectingPoint num="8" id="742" />
-<TGConnectingPoint num="9" id="743" />
-<TGConnectingPoint num="10" id="744" />
-<TGConnectingPoint num="11" id="745" />
-<TGConnectingPoint num="12" id="746" />
-<TGConnectingPoint num="13" id="747" />
-<TGConnectingPoint num="14" id="748" />
-<TGConnectingPoint num="15" id="749" />
-<TGConnectingPoint num="16" id="750" />
-<TGConnectingPoint num="17" id="751" />
-</SUBCOMPONENT>
-<SUBCOMPONENT type="1201" id="771" >
-<father id="799" num="4" />
-<cdparam x="1384" y="510" />
-<sizeparam width="26" height="26" minWidth="10" minHeight="10" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<hidden value="false" />
-<cdrectangleparam minX="-13" maxX="198" minY="-13" maxY="241" />
-<infoparam name="Composite port" value="" />
-<TGConnectingPoint num="0" id="753" />
-<TGConnectingPoint num="1" id="754" />
-<TGConnectingPoint num="2" id="755" />
-<TGConnectingPoint num="3" id="756" />
-<TGConnectingPoint num="4" id="757" />
-<TGConnectingPoint num="5" id="758" />
-<TGConnectingPoint num="6" id="759" />
-<TGConnectingPoint num="7" id="760" />
-<TGConnectingPoint num="8" id="761" />
-<TGConnectingPoint num="9" id="762" />
-<TGConnectingPoint num="10" id="763" />
-<TGConnectingPoint num="11" id="764" />
-<TGConnectingPoint num="12" id="765" />
-<TGConnectingPoint num="13" id="766" />
-<TGConnectingPoint num="14" id="767" />
-<TGConnectingPoint num="15" id="768" />
-<TGConnectingPoint num="16" id="769" />
-<TGConnectingPoint num="17" id="770" />
-</SUBCOMPONENT>
 <SUBCOMPONENT type="1201" id="790" >
 <father id="799" num="5" />
-<cdparam x="1384" y="380" />
+<cdparam x="1173" y="375" />
 <sizeparam width="26" height="26" minWidth="10" minHeight="10" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="-13" maxX="198" minY="-13" maxY="241" />
@@ -2272,7 +2272,7 @@ processing tasks
 </COMPONENT>
 <SUBCOMPONENT type="1201" id="818" >
 <father id="914" num="0" />
-<cdparam x="1387" y="111" />
+<cdparam x="1387" y="249" />
 <sizeparam width="26" height="26" minWidth="10" minHeight="10" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="-13" maxX="201" minY="-13" maxY="267" />
@@ -2296,70 +2296,122 @@ processing tasks
 <TGConnectingPoint num="16" id="816" />
 <TGConnectingPoint num="17" id="817" />
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1202" id="833" >
+<SUBCOMPONENT type="1201" id="837" >
 <father id="914" num="1" />
-<cdparam x="1222" y="194" />
-<sizeparam width="143" height="86" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="1173" y="110" />
+<sizeparam width="26" height="26" minWidth="10" minHeight="10" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="71" minY="0" maxY="194" />
-<infoparam name="Primitive component" value="F_CWP_I" />
-<TGConnectingPoint num="0" id="825" />
-<TGConnectingPoint num="1" id="826" />
-<TGConnectingPoint num="2" id="827" />
-<TGConnectingPoint num="3" id="828" />
-<TGConnectingPoint num="4" id="829" />
-<TGConnectingPoint num="5" id="830" />
-<TGConnectingPoint num="6" id="831" />
-<TGConnectingPoint num="7" id="832" />
+<cdrectangleparam minX="-13" maxX="201" minY="-13" maxY="267" />
+<infoparam name="Composite port" value="" />
+<TGConnectingPoint num="0" id="819" />
+<TGConnectingPoint num="1" id="820" />
+<TGConnectingPoint num="2" id="821" />
+<TGConnectingPoint num="3" id="822" />
+<TGConnectingPoint num="4" id="823" />
+<TGConnectingPoint num="5" id="824" />
+<TGConnectingPoint num="6" id="825" />
+<TGConnectingPoint num="7" id="826" />
+<TGConnectingPoint num="8" id="827" />
+<TGConnectingPoint num="9" id="828" />
+<TGConnectingPoint num="10" id="829" />
+<TGConnectingPoint num="11" id="830" />
+<TGConnectingPoint num="12" id="831" />
+<TGConnectingPoint num="13" id="832" />
+<TGConnectingPoint num="14" id="833" />
+<TGConnectingPoint num="15" id="834" />
+<TGConnectingPoint num="16" id="835" />
+<TGConnectingPoint num="17" id="836" />
+</SUBCOMPONENT>
+<SUBCOMPONENT type="1201" id="856" >
+<father id="914" num="2" />
+<cdparam x="1173" y="249" />
+<sizeparam width="26" height="26" minWidth="10" minHeight="10" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="-13" maxX="201" minY="-13" maxY="267" />
+<infoparam name="Composite port" value="" />
+<TGConnectingPoint num="0" id="838" />
+<TGConnectingPoint num="1" id="839" />
+<TGConnectingPoint num="2" id="840" />
+<TGConnectingPoint num="3" id="841" />
+<TGConnectingPoint num="4" id="842" />
+<TGConnectingPoint num="5" id="843" />
+<TGConnectingPoint num="6" id="844" />
+<TGConnectingPoint num="7" id="845" />
+<TGConnectingPoint num="8" id="846" />
+<TGConnectingPoint num="9" id="847" />
+<TGConnectingPoint num="10" id="848" />
+<TGConnectingPoint num="11" id="849" />
+<TGConnectingPoint num="12" id="850" />
+<TGConnectingPoint num="13" id="851" />
+<TGConnectingPoint num="14" id="852" />
+<TGConnectingPoint num="15" id="853" />
+<TGConnectingPoint num="16" id="854" />
+<TGConnectingPoint num="17" id="855" />
+</SUBCOMPONENT>
+<SUBCOMPONENT type="1202" id="871" >
+<father id="914" num="3" />
+<cdparam x="1220" y="62" />
+<sizeparam width="144" height="96" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="0" maxX="70" minY="0" maxY="184" />
+<infoparam name="Primitive component" value="X_CWP_I" />
+<TGConnectingPoint num="0" id="863" />
+<TGConnectingPoint num="1" id="864" />
+<TGConnectingPoint num="2" id="865" />
+<TGConnectingPoint num="3" id="866" />
+<TGConnectingPoint num="4" id="867" />
+<TGConnectingPoint num="5" id="868" />
+<TGConnectingPoint num="6" id="869" />
+<TGConnectingPoint num="7" id="870" />
 <extraparam>
 <Data isAttacker="No" />
 <Attribute access="2" id="size" value="" type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="820" >
-<father id="833" num="0" />
-<cdparam x="1320" y="181" />
+<SUBCOMPONENT type="1203" id="858" >
+<father id="871" num="0" />
+<cdparam x="1351" y="111" />
 <sizeparam width="26" height="26" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-13" maxX="130" minY="-13" maxY="73" />
-<infoparam name="Primitive port" value="Request cwpI_req" />
-<TGConnectingPoint num="0" id="819" />
+<cdrectangleparam minX="-13" maxX="131" minY="-13" maxY="83" />
+<infoparam name="Primitive port" value="Channel cwpI_ch_out" />
+<TGConnectingPoint num="0" id="857" />
 <extraparam>
-<Prop commName="cwpI_req" commType="2" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
-<Type type="1" typeOther="" />
+<Prop commName="cwpI_ch_out" commType="0" origin="true" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" 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="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="822" >
-<father id="833" num="1" />
-<cdparam x="1209" y="249" />
+<SUBCOMPONENT type="1203" id="860" >
+<father id="871" num="1" />
+<cdparam x="1207" y="110" />
 <sizeparam width="26" height="26" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-13" maxX="130" minY="-13" maxY="73" />
-<infoparam name="Primitive port" value="Event cwpI_evt_in" />
-<TGConnectingPoint num="0" id="821" />
+<cdrectangleparam minX="-13" maxX="131" minY="-13" maxY="83" />
+<infoparam name="Primitive port" value="Channel cwpI_ch_in" />
+<TGConnectingPoint num="0" id="859" />
 <extraparam>
-<Prop commName="cwpI_evt_in" commType="1" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
-<Type type="1" typeOther="" />
+<Prop commName="cwpI_ch_in" commType="0" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" 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="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="824" >
-<father id="833" num="2" />
-<cdparam x="1352" y="249" />
+<SUBCOMPONENT type="1203" id="862" >
+<father id="871" num="2" />
+<cdparam x="1244" y="145" />
 <sizeparam width="26" height="26" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-13" maxX="130" minY="-13" maxY="73" />
-<infoparam name="Primitive port" value="Event cwpI_evt_out" />
-<TGConnectingPoint num="0" id="823" />
+<cdrectangleparam minX="-13" maxX="131" minY="-13" maxY="83" />
+<infoparam name="Primitive port" value="Request cwpI_req" />
+<TGConnectingPoint num="0" id="861" />
 <extraparam>
-<Prop commName="cwpI_evt_out" commType="1" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<Prop commName="cwpI_req" commType="2" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
 <Type type="1" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -2367,36 +2419,36 @@ processing tasks
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1202" id="848" >
-<father id="914" num="2" />
-<cdparam x="1220" y="62" />
-<sizeparam width="144" height="96" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<SUBCOMPONENT type="1202" id="886" >
+<father id="914" num="4" />
+<cdparam x="1222" y="194" />
+<sizeparam width="143" height="86" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="70" minY="0" maxY="184" />
-<infoparam name="Primitive component" value="X_CWP_I" />
-<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" />
+<cdrectangleparam minX="0" maxX="71" minY="0" maxY="194" />
+<infoparam name="Primitive component" value="F_CWP_I" />
+<TGConnectingPoint num="0" id="878" />
+<TGConnectingPoint num="1" id="879" />
+<TGConnectingPoint num="2" id="880" />
+<TGConnectingPoint num="3" id="881" />
+<TGConnectingPoint num="4" id="882" />
+<TGConnectingPoint num="5" id="883" />
+<TGConnectingPoint num="6" id="884" />
+<TGConnectingPoint num="7" id="885" />
 <extraparam>
 <Data isAttacker="No" />
 <Attribute access="2" id="size" value="" type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="835" >
-<father id="848" num="0" />
-<cdparam x="1244" y="145" />
+<SUBCOMPONENT type="1203" id="873" >
+<father id="886" num="0" />
+<cdparam x="1352" y="249" />
 <sizeparam width="26" height="26" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-13" maxX="131" minY="-13" maxY="83" />
-<infoparam name="Primitive port" value="Request cwpI_req" />
-<TGConnectingPoint num="0" id="834" />
+<cdrectangleparam minX="-13" maxX="130" minY="-13" maxY="73" />
+<infoparam name="Primitive port" value="Event cwpI_evt_out" />
+<TGConnectingPoint num="0" id="872" />
 <extraparam>
-<Prop commName="cwpI_req" commType="2" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<Prop commName="cwpI_evt_out" commType="1" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
 <Type type="1" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
@@ -2404,95 +2456,43 @@ processing tasks
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="837" >
-<father id="848" num="1" />
-<cdparam x="1207" y="110" />
+<SUBCOMPONENT type="1203" id="875" >
+<father id="886" num="1" />
+<cdparam x="1209" y="249" />
 <sizeparam width="26" height="26" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-13" maxX="131" minY="-13" maxY="83" />
-<infoparam name="Primitive port" value="Channel cwpI_ch_in" />
-<TGConnectingPoint num="0" id="836" />
+<cdrectangleparam minX="-13" maxX="130" minY="-13" maxY="73" />
+<infoparam name="Primitive port" value="Event cwpI_evt_in" />
+<TGConnectingPoint num="0" id="874" />
 <extraparam>
-<Prop commName="cwpI_ch_in" commType="0" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="uint_16" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
-<Type type="0" typeOther="" />
+<Prop commName="cwpI_evt_in" commType="1" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<Type type="1" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1203" id="839" >
-<father id="848" num="2" />
-<cdparam x="1351" y="111" />
+<SUBCOMPONENT type="1203" id="877" >
+<father id="886" num="2" />
+<cdparam x="1320" y="181" />
 <sizeparam width="26" height="26" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="-13" maxX="131" minY="-13" maxY="83" />
-<infoparam name="Primitive port" value="Channel cwpI_ch_out" />
-<TGConnectingPoint num="0" id="838" />
+<cdrectangleparam minX="-13" maxX="130" minY="-13" maxY="73" />
+<infoparam name="Primitive port" value="Request cwpI_req" />
+<TGConnectingPoint num="0" id="876" />
 <extraparam>
-<Prop commName="cwpI_ch_out" commType="0" origin="true" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="uint_16" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
-<Type type="0" typeOther="" />
+<Prop commName="cwpI_req" commType="2" origin="true" finite="false" blocking="false" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<Type type="1" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 <Type type="0" typeOther="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1201" id="867" >
-<father id="914" num="3" />
-<cdparam x="1173" y="249" />
-<sizeparam width="26" height="26" minWidth="10" minHeight="10" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<hidden value="false" />
-<cdrectangleparam minX="-13" maxX="201" minY="-13" maxY="267" />
-<infoparam name="Composite port" value="" />
-<TGConnectingPoint num="0" id="849" />
-<TGConnectingPoint num="1" id="850" />
-<TGConnectingPoint num="2" id="851" />
-<TGConnectingPoint num="3" id="852" />
-<TGConnectingPoint num="4" id="853" />
-<TGConnectingPoint num="5" id="854" />
-<TGConnectingPoint num="6" id="855" />
-<TGConnectingPoint num="7" id="856" />
-<TGConnectingPoint num="8" id="857" />
-<TGConnectingPoint num="9" id="858" />
-<TGConnectingPoint num="10" id="859" />
-<TGConnectingPoint num="11" id="860" />
-<TGConnectingPoint num="12" id="861" />
-<TGConnectingPoint num="13" id="862" />
-<TGConnectingPoint num="14" id="863" />
-<TGConnectingPoint num="15" id="864" />
-<TGConnectingPoint num="16" id="865" />
-<TGConnectingPoint num="17" id="866" />
-</SUBCOMPONENT>
-<SUBCOMPONENT type="1201" id="886" >
-<father id="914" num="4" />
-<cdparam x="1173" y="110" />
-<sizeparam width="26" height="26" minWidth="10" minHeight="10" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<hidden value="false" />
-<cdrectangleparam minX="-13" maxX="201" minY="-13" maxY="267" />
-<infoparam name="Composite port" value="" />
-<TGConnectingPoint num="0" id="868" />
-<TGConnectingPoint num="1" id="869" />
-<TGConnectingPoint num="2" id="870" />
-<TGConnectingPoint num="3" id="871" />
-<TGConnectingPoint num="4" id="872" />
-<TGConnectingPoint num="5" id="873" />
-<TGConnectingPoint num="6" id="874" />
-<TGConnectingPoint num="7" id="875" />
-<TGConnectingPoint num="8" id="876" />
-<TGConnectingPoint num="9" id="877" />
-<TGConnectingPoint num="10" id="878" />
-<TGConnectingPoint num="11" id="879" />
-<TGConnectingPoint num="12" id="880" />
-<TGConnectingPoint num="13" id="881" />
-<TGConnectingPoint num="14" id="882" />
-<TGConnectingPoint num="15" id="883" />
-<TGConnectingPoint num="16" id="884" />
-<TGConnectingPoint num="17" id="885" />
-</SUBCOMPONENT>
 <SUBCOMPONENT type="1201" id="905" >
 <father id="914" num="5" />
-<cdparam x="1387" y="249" />
+<cdparam x="1387" y="111" />
 <sizeparam width="26" height="26" minWidth="10" minHeight="10" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="-13" maxX="201" minY="-13" maxY="267" />
@@ -2520,18 +2520,110 @@ processing tasks
 
 </TMLComponentTaskDiagramPanel>
 
+<TMLActivityDiagramPanel name="F_Source" minX="10" maxX="1400" minY="10" maxY="900" >
+<COMPONENT type="1001" id="916" >
+<cdparam x="397" y="338" />
+<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="915" />
+</COMPONENT>
+
+<COMPONENT type="1008" id="919" >
+<cdparam x="338" y="262" />
+<sizeparam width="139" 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="Source_evt_out(size)" />
+<TGConnectingPoint num="0" id="917" />
+<TGConnectingPoint num="1" id="918" />
+<extraparam>
+<Data eventName="Source_evt_out" nbOfParams="5" />
+<Param index="0" value="size" />
+</extraparam>
+</COMPONENT>
+
+<COMPONENT type="1007" id="922" >
+<cdparam x="351" y="188" />
+<sizeparam width="113" 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="source_req(size)" />
+<TGConnectingPoint num="0" id="920" />
+<TGConnectingPoint num="1" id="921" />
+<extraparam>
+<Data requestName="source_req" nbOfParams="5" />
+<Param index="0" value="size" />
+</extraparam>
+</COMPONENT>
+
+<COMPONENT type="1011" id="925" >
+<cdparam x="370" y="116" />
+<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="action state" value="size = 127" />
+<TGConnectingPoint num="0" id="923" />
+<TGConnectingPoint num="1" id="924" />
+</COMPONENT>
+
+<COMPONENT type="1000" id="927" >
+<cdparam x="400" y="50" />
+<sizeparam width="15" height="15" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
+<infoparam name="start state" value="null" />
+<TGConnectingPoint num="0" id="926" />
+</COMPONENT>
+
+<CONNECTOR type="115" id="928" >
+<cdparam x="407" y="70" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="null" />
+<P1  x="407" y="70" id="926" />
+<P2  x="407" y="111" id="923" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<CONNECTOR type="115" id="929" >
+<cdparam x="407" y="141" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="null" />
+<P1  x="407" y="141" id="924" />
+<P2  x="407" y="183" id="920" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<CONNECTOR type="115" id="930" >
+<cdparam x="407" y="213" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="null" />
+<P1  x="407" y="213" id="921" />
+<P2  x="407" y="257" id="917" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<CONNECTOR type="115" id="931" >
+<cdparam x="407" y="287" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="null" />
+<P1  x="407" y="287" id="918" />
+<P2  x="407" y="333" id="915" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+
+</TMLActivityDiagramPanel>
+
 <TMLActivityDiagramPanel name="X_Source" minX="10" maxX="1400" minY="10" maxY="900" >
-<COMPONENT type="1013" id="918" >
+<COMPONENT type="1013" id="935" >
 <cdparam x="402" y="189" />
 <sizeparam width="10" height="30" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
 <infoparam name="execI" value="null" />
-<TGConnectingPoint num="0" id="916" />
-<TGConnectingPoint num="1" id="917" />
+<TGConnectingPoint num="0" id="933" />
+<TGConnectingPoint num="1" id="934" />
 </COMPONENT>
-<SUBCOMPONENT type="-1" id="915" >
-<father id="918" num="0" />
+<SUBCOMPONENT type="-1" id="932" >
+<father id="935" num="0" />
 <cdparam x="417" y="209" />
 <sizeparam width="23" height="15" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
@@ -2539,191 +2631,196 @@ processing tasks
 <infoparam name="value of the delay" value="size" />
 </SUBCOMPONENT>
 
-<COMPONENT type="1001" id="920" >
+<COMPONENT type="1001" id="937" >
 <cdparam x="397" y="342" />
 <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="919" />
+<TGConnectingPoint num="0" id="936" />
 </COMPONENT>
 
-<COMPONENT type="1006" id="923" >
+<COMPONENT type="1006" id="940" >
 <cdparam x="346" y="270" />
 <sizeparam width="122" 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="Source_ch_out(size)" />
-<TGConnectingPoint num="0" id="921" />
-<TGConnectingPoint num="1" id="922" />
+<TGConnectingPoint num="0" id="938" />
+<TGConnectingPoint num="1" id="939" />
 <accessibility />
 <extraparam>
 <Data channelName="Source_ch_out" nbOfSamples="size" secPattern="" isAttacker="No" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1034" id="926" >
+<COMPONENT type="1034" id="943" >
 <cdparam x="354" y="113" />
 <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="read args" value="getReqArg (size)" />
-<TGConnectingPoint num="0" id="924" />
-<TGConnectingPoint num="1" id="925" />
+<TGConnectingPoint num="0" id="941" />
+<TGConnectingPoint num="1" id="942" />
 <extraparam>
 <Data nbOfParams="5" />
 <Param index="0" value="size" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1000" id="928" >
+<COMPONENT type="1000" id="945" >
 <cdparam x="400" y="50" />
 <sizeparam width="15" height="15" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
 <infoparam name="start state" value="null" />
-<TGConnectingPoint num="0" id="927" />
+<TGConnectingPoint num="0" id="944" />
 </COMPONENT>
 
-<CONNECTOR type="115" id="929" >
+<CONNECTOR type="115" id="946" >
 <cdparam x="462" y="222" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="null" />
-<P1  x="407" y="224" id="917" />
-<P2  x="407" y="265" id="921" />
+<P1  x="407" y="224" id="934" />
+<P2  x="407" y="265" id="938" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="930" >
+<CONNECTOR type="115" id="947" >
 <cdparam x="407" y="70" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="null" />
-<P1  x="407" y="70" id="927" />
-<P2  x="407" y="108" id="924" />
+<P1  x="407" y="70" id="944" />
+<P2  x="407" y="108" id="941" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="931" >
+<CONNECTOR type="115" id="948" >
 <cdparam x="402" y="256" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="null" />
-<P1  x="407" y="295" id="922" />
-<P2  x="407" y="337" id="919" />
+<P1  x="407" y="295" id="939" />
+<P2  x="407" y="337" id="936" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="932" >
+<CONNECTOR type="115" id="949" >
 <cdparam x="407" y="155" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="null" />
-<P1  x="407" y="138" id="925" />
-<P2  x="407" y="184" id="916" />
+<P1  x="407" y="138" id="942" />
+<P2  x="407" y="184" id="933" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 
 </TMLActivityDiagramPanel>
 
-<TMLActivityDiagramPanel name="F_Source" minX="10" maxX="1400" minY="10" maxY="900" >
-<COMPONENT type="1001" id="934" >
-<cdparam x="397" y="338" />
+<TMLActivityDiagramPanel name="F_Symbol2ChipSeq" minX="10" maxX="1400" minY="10" maxY="900" >
+<COMPONENT type="1010" id="952" >
+<cdparam x="321" y="132" />
+<sizeparam width="148" 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="bit2symbol_evt_in(size) " />
+<TGConnectingPoint num="0" id="950" />
+<TGConnectingPoint num="1" id="951" />
+<extraparam>
+<Data eventName="bit2symbol_evt_in" nbOfParams="5" />
+<Param index="0" value="size" />
+</extraparam>
+</COMPONENT>
+
+<COMPONENT type="1001" id="954" >
+<cdparam x="385" y="354" />
 <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="933" />
+<TGConnectingPoint num="0" id="953" />
 </COMPONENT>
 
-<COMPONENT type="1008" id="937" >
-<cdparam x="338" y="262" />
-<sizeparam width="139" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<COMPONENT type="1008" id="957" >
+<cdparam x="319" y="278" />
+<sizeparam width="152" 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="Source_evt_out(size)" />
-<TGConnectingPoint num="0" id="935" />
-<TGConnectingPoint num="1" id="936" />
+<infoparam name="send event" value="bit2symbol_evt_out(size)" />
+<TGConnectingPoint num="0" id="955" />
+<TGConnectingPoint num="1" id="956" />
+<accessibility />
 <extraparam>
-<Data eventName="Source_evt_out" nbOfParams="5" />
+<Data eventName="bit2symbol_evt_out" nbOfParams="5" />
 <Param index="0" value="size" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1007" id="940" >
-<cdparam x="351" y="188" />
-<sizeparam width="113" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<COMPONENT type="1007" id="960" >
+<cdparam x="338" y="204" />
+<sizeparam width="114" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
-<infoparam name="send request" value="source_req(size)" />
-<TGConnectingPoint num="0" id="938" />
-<TGConnectingPoint num="1" id="939" />
+<infoparam name="send request" value="bit2chip_req(size)" />
+<TGConnectingPoint num="0" id="958" />
+<TGConnectingPoint num="1" id="959" />
 <extraparam>
-<Data requestName="source_req" nbOfParams="5" />
+<Data requestName="bit2chip_req" nbOfParams="5" />
 <Param index="0" value="size" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1011" id="943" >
-<cdparam x="370" y="116" />
-<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="action state" value="size = 127" />
-<TGConnectingPoint num="0" id="941" />
-<TGConnectingPoint num="1" id="942" />
-</COMPONENT>
-
-<COMPONENT type="1000" id="945" >
-<cdparam x="400" y="50" />
+<COMPONENT type="1000" id="962" >
+<cdparam x="388" y="66" />
 <sizeparam width="15" height="15" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
 <infoparam name="start state" value="null" />
-<TGConnectingPoint num="0" id="944" />
+<TGConnectingPoint num="0" id="961" />
 </COMPONENT>
 
-<CONNECTOR type="115" id="946" >
-<cdparam x="407" y="70" />
+<CONNECTOR type="115" id="963" >
+<cdparam x="395" y="229" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="null" />
-<P1  x="407" y="70" id="944" />
-<P2  x="407" y="111" id="941" />
+<P1  x="395" y="229" id="959" />
+<P2  x="395" y="273" id="955" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="947" >
-<cdparam x="407" y="141" />
+<CONNECTOR type="115" id="964" >
+<cdparam x="395" y="303" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="null" />
-<P1  x="407" y="141" id="942" />
-<P2  x="407" y="183" id="938" />
+<P1  x="395" y="303" id="956" />
+<P2  x="395" y="349" id="953" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="948" >
-<cdparam x="407" y="213" />
+<CONNECTOR type="115" id="965" >
+<cdparam x="395" y="86" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="null" />
-<P1  x="407" y="213" id="939" />
-<P2  x="407" y="257" id="935" />
+<P1  x="395" y="86" id="961" />
+<P2  x="395" y="127" id="950" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="949" >
-<cdparam x="407" y="287" />
+<CONNECTOR type="115" id="966" >
+<cdparam x="435" y="149" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="null" />
-<P1  x="407" y="287" id="936" />
-<P2  x="407" y="333" id="933" />
+<P1  x="395" y="157" id="951" />
+<P2  x="395" y="199" id="958" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 
 </TMLActivityDiagramPanel>
 
 <TMLActivityDiagramPanel name="X_Symbol2ChipSeq" minX="10" maxX="495" minY="10" maxY="467" >
-<COMPONENT type="1021" id="953" >
+<COMPONENT type="1021" id="970" >
 <cdparam x="393" y="289" />
 <sizeparam width="10" height="30" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="495" minY="10" maxY="467" />
 <infoparam name="execC" value="null" />
-<TGConnectingPoint num="0" id="951" />
-<TGConnectingPoint num="1" id="952" />
+<TGConnectingPoint num="0" id="968" />
+<TGConnectingPoint num="1" id="969" />
 </COMPONENT>
-<SUBCOMPONENT type="-1" id="950" >
-<father id="953" num="0" />
+<SUBCOMPONENT type="-1" id="967" >
+<father id="970" num="0" />
 <cdparam x="408" y="309" />
 <sizeparam width="23" height="15" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
@@ -2731,216 +2828,215 @@ processing tasks
 <infoparam name="value of the delay" value="size" />
 </SUBCOMPONENT>
 
-<COMPONENT type="1009" id="956" >
+<COMPONENT type="1009" id="973" >
 <cdparam x="310" y="213" />
 <sizeparam width="176" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="495" minY="10" maxY="467" />
 <infoparam name="read channel" value="symbol2ChipSeq_ch_in(size) " />
-<TGConnectingPoint num="0" id="954" />
-<TGConnectingPoint num="1" id="955" />
+<TGConnectingPoint num="0" id="971" />
+<TGConnectingPoint num="1" id="972" />
 <extraparam>
 <Data channelName="symbol2ChipSeq_ch_in" nbOfSamples="size" secPattern="" isAttacker="No" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1001" id="958" >
+<COMPONENT type="1001" id="975" >
 <cdparam x="388" y="447" />
 <sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="495" minY="10" maxY="467" />
 <infoparam name="stop state" value="null" />
-<TGConnectingPoint num="0" id="957" />
+<TGConnectingPoint num="0" id="974" />
 </COMPONENT>
 
-<COMPONENT type="1006" id="961" >
+<COMPONENT type="1006" id="978" >
 <cdparam x="308" y="375" />
 <sizeparam width="180" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="495" minY="10" maxY="467" />
 <infoparam name="write channel" value="symbol2ChipSeq_ch_out(size)" />
-<TGConnectingPoint num="0" id="959" />
-<TGConnectingPoint num="1" id="960" />
+<TGConnectingPoint num="0" id="976" />
+<TGConnectingPoint num="1" id="977" />
 <extraparam>
 <Data channelName="symbol2ChipSeq_ch_out" nbOfSamples="size" secPattern="" isAttacker="No" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1034" id="964" >
+<COMPONENT type="1034" id="981" >
 <cdparam x="345" y="137" />
 <sizeparam width="106" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="495" minY="10" maxY="467" />
 <infoparam name="read args" value="getReqArg (size)" />
-<TGConnectingPoint num="0" id="962" />
-<TGConnectingPoint num="1" id="963" />
+<TGConnectingPoint num="0" id="979" />
+<TGConnectingPoint num="1" id="980" />
 <extraparam>
 <Data nbOfParams="5" />
 <Param index="0" value="size" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1000" id="966" >
+<COMPONENT type="1000" id="983" >
 <cdparam x="391" y="74" />
 <sizeparam width="15" height="15" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="495" minY="10" maxY="467" />
 <infoparam name="start state" value="null" />
-<TGConnectingPoint num="0" id="965" />
+<TGConnectingPoint num="0" id="982" />
 </COMPONENT>
 
-<CONNECTOR type="115" id="967" >
+<CONNECTOR type="115" id="984" >
 <cdparam x="541" y="169" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="null" />
-<P1  x="398" y="238" id="955" />
-<P2  x="398" y="284" id="951" />
+<P1  x="398" y="238" id="972" />
+<P2  x="398" y="284" id="968" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="968" >
+<CONNECTOR type="115" id="985" >
 <cdparam x="453" y="327" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="null" />
-<P1  x="398" y="324" id="952" />
-<P2  x="398" y="370" id="959" />
+<P1  x="398" y="324" id="969" />
+<P2  x="398" y="370" id="976" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="969" >
+<CONNECTOR type="115" id="986" >
 <cdparam x="398" y="94" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="null" />
-<P1  x="398" y="94" id="965" />
-<P2  x="398" y="132" id="962" />
+<P1  x="398" y="94" id="982" />
+<P2  x="398" y="132" id="979" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="970" >
+<CONNECTOR type="115" id="987" >
 <cdparam x="393" y="361" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="null" />
-<P1  x="398" y="400" id="960" />
-<P2  x="398" y="442" id="957" />
+<P1  x="398" y="400" id="977" />
+<P2  x="398" y="442" id="974" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="971" >
+<CONNECTOR type="115" id="988" >
 <cdparam x="398" y="179" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="null" />
-<P1  x="398" y="162" id="963" />
-<P2  x="398" y="208" id="954" />
+<P1  x="398" y="162" id="980" />
+<P2  x="398" y="208" id="971" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 
 </TMLActivityDiagramPanel>
 
-<TMLActivityDiagramPanel name="F_Symbol2ChipSeq" minX="10" maxX="1400" minY="10" maxY="900" >
-<COMPONENT type="1010" id="974" >
-<cdparam x="321" y="132" />
-<sizeparam width="148" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<TMLActivityDiagramPanel name="F_Chip2Octet" minX="10" maxX="1400" minY="10" maxY="900" >
+<COMPONENT type="1010" id="991" >
+<cdparam x="333" y="128" />
+<sizeparam width="156" 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="bit2symbol_evt_in(size) " />
-<TGConnectingPoint num="0" id="972" />
-<TGConnectingPoint num="1" id="973" />
+<infoparam name="wait event" value="chip2octet_evt_in(size) " />
+<TGConnectingPoint num="0" id="989" />
+<TGConnectingPoint num="1" id="990" />
 <extraparam>
-<Data eventName="bit2symbol_evt_in" nbOfParams="5" />
+<Data eventName="chip2octet_evt_in" nbOfParams="5" />
 <Param index="0" value="size" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1001" id="976" >
-<cdparam x="385" y="354" />
+<COMPONENT type="1001" id="993" >
+<cdparam x="401" y="350" />
 <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="975" />
+<TGConnectingPoint num="0" id="992" />
 </COMPONENT>
 
-<COMPONENT type="1008" id="979" >
-<cdparam x="319" y="278" />
-<sizeparam width="152" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<COMPONENT type="1008" id="996" >
+<cdparam x="330" y="274" />
+<sizeparam width="162" 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="bit2symbol_evt_out(size)" />
-<TGConnectingPoint num="0" id="977" />
-<TGConnectingPoint num="1" id="978" />
-<accessibility />
+<infoparam name="send event" value="chip2octet_evt_out(size)" />
+<TGConnectingPoint num="0" id="994" />
+<TGConnectingPoint num="1" id="995" />
 <extraparam>
-<Data eventName="bit2symbol_evt_out" nbOfParams="5" />
+<Data eventName="chip2octet_evt_out" nbOfParams="5" />
 <Param index="0" value="size" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1007" id="982" >
-<cdparam x="338" y="204" />
-<sizeparam width="114" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<COMPONENT type="1007" id="999" >
+<cdparam x="343" y="200" />
+<sizeparam width="137" 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="bit2chip_req(size)" />
-<TGConnectingPoint num="0" id="980" />
-<TGConnectingPoint num="1" id="981" />
+<infoparam name="send request" value="chip2octet_req(size)" />
+<TGConnectingPoint num="0" id="997" />
+<TGConnectingPoint num="1" id="998" />
 <extraparam>
-<Data requestName="bit2chip_req" nbOfParams="5" />
+<Data requestName="chip2octet_req" nbOfParams="5" />
 <Param index="0" value="size" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1000" id="984" >
-<cdparam x="388" y="66" />
+<COMPONENT type="1000" id="1001" >
+<cdparam x="404" y="62" />
 <sizeparam width="15" height="15" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
 <infoparam name="start state" value="null" />
-<TGConnectingPoint num="0" id="983" />
+<TGConnectingPoint num="0" id="1000" />
 </COMPONENT>
 
-<CONNECTOR type="115" id="985" >
-<cdparam x="395" y="229" />
+<CONNECTOR type="115" id="1002" >
+<cdparam x="411" y="225" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="null" />
-<P1  x="395" y="229" id="981" />
-<P2  x="395" y="273" id="977" />
+<P1  x="411" y="225" id="998" />
+<P2  x="411" y="269" id="994" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="986" >
-<cdparam x="395" y="303" />
+<CONNECTOR type="115" id="1003" >
+<cdparam x="411" y="299" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="null" />
-<P1  x="395" y="303" id="978" />
-<P2  x="395" y="349" id="975" />
+<P1  x="411" y="299" id="995" />
+<P2  x="411" y="345" id="992" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="987" >
-<cdparam x="395" y="86" />
+<CONNECTOR type="115" id="1004" >
+<cdparam x="411" y="82" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="null" />
-<P1  x="395" y="86" id="983" />
-<P2  x="395" y="127" id="972" />
+<P1  x="411" y="82" id="1000" />
+<P2  x="411" y="123" id="989" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="988" >
-<cdparam x="435" y="149" />
+<CONNECTOR type="115" id="1005" >
+<cdparam x="451" y="145" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="null" />
-<P1  x="395" y="157" id="973" />
-<P2  x="395" y="199" id="980" />
+<P1  x="411" y="153" id="990" />
+<P2  x="411" y="195" id="997" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 
 </TMLActivityDiagramPanel>
 
 <TMLActivityDiagramPanel name="X_Chip2Octet" minX="10" maxX="1400" minY="10" maxY="900" >
-<COMPONENT type="1021" id="992" >
+<COMPONENT type="1021" id="1009" >
 <cdparam x="377" y="300" />
 <sizeparam width="10" height="30" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
 <infoparam name="execC" value="null" />
-<TGConnectingPoint num="0" id="990" />
-<TGConnectingPoint num="1" id="991" />
+<TGConnectingPoint num="0" id="1007" />
+<TGConnectingPoint num="1" id="1008" />
 </COMPONENT>
-<SUBCOMPONENT type="-1" id="989" >
-<father id="992" num="0" />
+<SUBCOMPONENT type="-1" id="1006" >
+<father id="1009" num="0" />
 <cdparam x="392" y="320" />
 <sizeparam width="23" height="15" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
@@ -2948,215 +3044,237 @@ processing tasks
 <infoparam name="value of the delay" value="size" />
 </SUBCOMPONENT>
 
-<COMPONENT type="1009" id="995" >
+<COMPONENT type="1009" id="1012" >
 <cdparam x="312" y="215" />
 <sizeparam width="140" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
 <infoparam name="read channel" value="chip2octet_ch_in(size) " />
-<TGConnectingPoint num="0" id="993" />
-<TGConnectingPoint num="1" id="994" />
+<TGConnectingPoint num="0" id="1010" />
+<TGConnectingPoint num="1" id="1011" />
 <extraparam>
 <Data channelName="chip2octet_ch_in" nbOfSamples="size" secPattern="" isAttacker="No" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1001" id="997" >
+<COMPONENT type="1001" id="1014" >
 <cdparam x="372" y="449" />
 <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="996" />
+<TGConnectingPoint num="0" id="1013" />
 </COMPONENT>
 
-<COMPONENT type="1006" id="1000" >
+<COMPONENT type="1006" id="1017" >
 <cdparam x="310" y="377" />
 <sizeparam width="144" 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="chip2octet_ch_out(size)" />
-<TGConnectingPoint num="0" id="998" />
-<TGConnectingPoint num="1" id="999" />
+<TGConnectingPoint num="0" id="1015" />
+<TGConnectingPoint num="1" id="1016" />
 <extraparam>
 <Data channelName="chip2octet_ch_out" nbOfSamples="size" secPattern="" isAttacker="No" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1034" id="1003" >
+<COMPONENT type="1034" id="1020" >
 <cdparam x="329" y="139" />
 <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="read args" value="getReqArg (size)" />
-<TGConnectingPoint num="0" id="1001" />
-<TGConnectingPoint num="1" id="1002" />
+<TGConnectingPoint num="0" id="1018" />
+<TGConnectingPoint num="1" id="1019" />
 <extraparam>
 <Data nbOfParams="5" />
 <Param index="0" value="size" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1000" id="1005" >
+<COMPONENT type="1000" id="1022" >
 <cdparam x="375" y="76" />
 <sizeparam width="15" height="15" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
 <infoparam name="start state" value="null" />
-<TGConnectingPoint num="0" id="1004" />
+<TGConnectingPoint num="0" id="1021" />
 </COMPONENT>
 
-<CONNECTOR type="115" id="1006" >
+<CONNECTOR type="115" id="1023" >
 <cdparam x="525" y="171" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="null" />
-<P1  x="382" y="240" id="994" />
-<P2  x="382" y="295" id="990" />
+<P1  x="382" y="240" id="1011" />
+<P2  x="382" y="295" id="1007" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1007" >
+<CONNECTOR type="115" id="1024" >
 <cdparam x="437" y="329" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="null" />
-<P1  x="382" y="335" id="991" />
-<P2  x="382" y="372" id="998" />
+<P1  x="382" y="335" id="1008" />
+<P2  x="382" y="372" id="1015" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1008" >
+<CONNECTOR type="115" id="1025" >
 <cdparam x="382" y="96" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="null" />
-<P1  x="382" y="96" id="1004" />
-<P2  x="382" y="134" id="1001" />
+<P1  x="382" y="96" id="1021" />
+<P2  x="382" y="134" id="1018" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1009" >
+<CONNECTOR type="115" id="1026" >
 <cdparam x="377" y="363" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="null" />
-<P1  x="382" y="402" id="999" />
-<P2  x="382" y="444" id="996" />
+<P1  x="382" y="402" id="1016" />
+<P2  x="382" y="444" id="1013" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1010" >
+<CONNECTOR type="115" id="1027" >
 <cdparam x="382" y="181" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="null" />
-<P1  x="382" y="164" id="1002" />
-<P2  x="382" y="210" id="993" />
+<P1  x="382" y="164" id="1019" />
+<P2  x="382" y="210" id="1010" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 
 </TMLActivityDiagramPanel>
 
-<TMLActivityDiagramPanel name="F_Chip2Octet" minX="10" maxX="1400" minY="10" maxY="900" >
-<COMPONENT type="1010" id="1013" >
-<cdparam x="333" y="128" />
-<sizeparam width="156" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<TMLActivityDiagramPanel name="F_CWL" minX="10" maxX="1400" minY="10" maxY="900" >
+<COMPONENT type="1010" id="1030" >
+<cdparam x="363" y="134" />
+<sizeparam width="102" 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="chip2octet_evt_in(size) " />
-<TGConnectingPoint num="0" id="1011" />
-<TGConnectingPoint num="1" id="1012" />
+<infoparam name="wait event" value="cwl_evt_in(size) " />
+<TGConnectingPoint num="0" id="1028" />
+<TGConnectingPoint num="1" id="1029" />
 <extraparam>
-<Data eventName="chip2octet_evt_in" nbOfParams="5" />
+<Data eventName="cwl_evt_in" nbOfParams="5" />
 <Param index="0" value="size" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1001" id="1015" >
-<cdparam x="401" y="350" />
+<COMPONENT type="1001" id="1032" >
+<cdparam x="407" y="397" />
 <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="1014" />
+<TGConnectingPoint num="0" id="1031" />
 </COMPONENT>
 
-<COMPONENT type="1008" id="1018" >
-<cdparam x="330" y="274" />
-<sizeparam width="162" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<COMPONENT type="1007" id="1035" >
+<cdparam x="372" y="206" />
+<sizeparam width="85" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
-<infoparam name="send event" value="chip2octet_evt_out(size)" />
-<TGConnectingPoint num="0" id="1016" />
-<TGConnectingPoint num="1" id="1017" />
+<infoparam name="send request" value="cwl_req(size)" />
+<TGConnectingPoint num="0" id="1033" />
+<TGConnectingPoint num="1" id="1034" />
 <extraparam>
-<Data eventName="chip2octet_evt_out" nbOfParams="5" />
+<Data requestName="cwl_req" nbOfParams="5" />
 <Param index="0" value="size" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1007" id="1021" >
-<cdparam x="343" y="200" />
-<sizeparam width="137" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<COMPONENT type="1000" id="1037" >
+<cdparam x="407" y="68" />
+<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="send request" value="chip2octet_req(size)" />
-<TGConnectingPoint num="0" id="1019" />
-<TGConnectingPoint num="1" id="1020" />
+<infoparam name="start state" value="null" />
+<TGConnectingPoint num="0" id="1036" />
+</COMPONENT>
+
+<COMPONENT type="1008" id="1040" >
+<cdparam x="356" y="333" />
+<sizeparam width="120" 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="cwl_evt_out_1(size)" />
+<TGConnectingPoint num="0" id="1038" />
+<TGConnectingPoint num="1" id="1039" />
 <extraparam>
-<Data requestName="chip2octet_req" nbOfParams="5" />
+<Data eventName="cwl_evt_out_1" nbOfParams="5" />
 <Param index="0" value="size" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1000" id="1023" >
-<cdparam x="404" y="62" />
-<sizeparam width="15" height="15" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<COMPONENT type="1008" id="1043" >
+<cdparam x="361" y="280" />
+<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="start state" value="null" />
-<TGConnectingPoint num="0" id="1022" />
+<infoparam name="send event" value="cwl_evt_out(size)" />
+<TGConnectingPoint num="0" id="1041" />
+<TGConnectingPoint num="1" id="1042" />
+<extraparam>
+<Data eventName="cwl_evt_out" nbOfParams="5" />
+<Param index="0" value="size" />
+</extraparam>
 </COMPONENT>
 
-<CONNECTOR type="115" id="1024" >
-<cdparam x="411" y="225" />
+<CONNECTOR type="115" id="1044" >
+<cdparam x="416" y="358" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="null" />
-<P1  x="411" y="225" id="1020" />
-<P2  x="411" y="269" id="1016" />
+<P1  x="416" y="358" id="1039" />
+<P2  x="417" y="392" id="1031" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1025" >
-<cdparam x="411" y="299" />
+<CONNECTOR type="115" id="1045" >
+<cdparam x="414" y="231" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="null" />
-<P1  x="411" y="299" id="1017" />
-<P2  x="411" y="345" id="1014" />
+<P1  x="414" y="231" id="1034" />
+<P2  x="414" y="275" id="1041" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1026" >
-<cdparam x="411" y="82" />
+<CONNECTOR type="115" id="1046" >
+<cdparam x="414" y="305" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="null" />
-<P1  x="411" y="82" id="1022" />
-<P2  x="411" y="123" id="1011" />
+<P1  x="414" y="305" id="1042" />
+<P2  x="416" y="328" id="1038" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1027" >
-<cdparam x="451" y="145" />
+<CONNECTOR type="115" id="1047" >
+<cdparam x="414" y="88" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="null" />
+<P1  x="414" y="88" id="1036" />
+<P2  x="414" y="129" id="1028" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<CONNECTOR type="115" id="1048" >
+<cdparam x="454" y="151" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="null" />
-<P1  x="411" y="153" id="1012" />
-<P2  x="411" y="195" id="1019" />
+<P1  x="414" y="159" id="1029" />
+<P2  x="414" y="201" id="1033" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 
 </TMLActivityDiagramPanel>
 
 <TMLActivityDiagramPanel name="X_CWL" minX="10" maxX="1400" minY="10" maxY="900" >
-<COMPONENT type="1013" id="1031" >
+<COMPONENT type="1013" id="1052" >
 <cdparam x="402" y="277" />
 <sizeparam width="10" height="30" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
 <infoparam name="execI" value="null" />
-<TGConnectingPoint num="0" id="1029" />
-<TGConnectingPoint num="1" id="1030" />
+<TGConnectingPoint num="0" id="1050" />
+<TGConnectingPoint num="1" id="1051" />
 </COMPONENT>
-<SUBCOMPONENT type="-1" id="1028" >
-<father id="1031" num="0" />
+<SUBCOMPONENT type="-1" id="1049" >
+<father id="1052" num="0" />
 <cdparam x="417" y="297" />
 <sizeparam width="23" height="15" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
@@ -3164,237 +3282,215 @@ processing tasks
 <infoparam name="value of the delay" value="size" />
 </SUBCOMPONENT>
 
-<COMPONENT type="1009" id="1034" >
+<COMPONENT type="1009" id="1055" >
 <cdparam x="355" y="196" />
 <sizeparam width="104" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
 <infoparam name="read channel" value="cwl_ch_in(size) " />
-<TGConnectingPoint num="0" id="1032" />
-<TGConnectingPoint num="1" id="1033" />
+<TGConnectingPoint num="0" id="1053" />
+<TGConnectingPoint num="1" id="1054" />
 <extraparam>
 <Data channelName="cwl_ch_in" nbOfSamples="size" secPattern="" isAttacker="No" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1001" id="1036" >
+<COMPONENT type="1001" id="1057" >
 <cdparam x="397" y="430" />
 <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="1035" />
+<TGConnectingPoint num="0" id="1056" />
 </COMPONENT>
 
-<COMPONENT type="1006" id="1039" >
+<COMPONENT type="1006" id="1060" >
 <cdparam x="352" y="358" />
 <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="write channel" value="cwl_ch_out(size)" />
-<TGConnectingPoint num="0" id="1037" />
-<TGConnectingPoint num="1" id="1038" />
+<TGConnectingPoint num="0" id="1058" />
+<TGConnectingPoint num="1" id="1059" />
 <extraparam>
 <Data channelName="cwl_ch_out" nbOfSamples="size" secPattern="" isAttacker="No" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1034" id="1042" >
+<COMPONENT type="1034" id="1063" >
 <cdparam x="351" y="120" />
 <sizeparam width="113" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
 <infoparam name="read args" value="getReqArg (size)" />
-<TGConnectingPoint num="0" id="1040" />
-<TGConnectingPoint num="1" id="1041" />
+<TGConnectingPoint num="0" id="1061" />
+<TGConnectingPoint num="1" id="1062" />
 <extraparam>
 <Data nbOfParams="5" />
 <Param index="0" value="size" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1000" id="1044" >
+<COMPONENT type="1000" id="1065" >
 <cdparam x="400" y="57" />
 <sizeparam width="15" height="15" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
 <infoparam name="start state" value="null" />
-<TGConnectingPoint num="0" id="1043" />
+<TGConnectingPoint num="0" id="1064" />
 </COMPONENT>
 
-<CONNECTOR type="115" id="1045" >
+<CONNECTOR type="115" id="1066" >
 <cdparam x="550" y="152" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="null" />
-<P1  x="407" y="221" id="1033" />
-<P2  x="407" y="272" id="1029" />
+<P1  x="407" y="221" id="1054" />
+<P2  x="407" y="272" id="1050" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1046" >
+<CONNECTOR type="115" id="1067" >
 <cdparam x="462" y="310" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="null" />
-<P1  x="407" y="312" id="1030" />
-<P2  x="407" y="353" id="1037" />
+<P1  x="407" y="312" id="1051" />
+<P2  x="407" y="353" id="1058" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1047" >
+<CONNECTOR type="115" id="1068" >
 <cdparam x="407" y="77" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="null" />
-<P1  x="407" y="77" id="1043" />
-<P2  x="407" y="115" id="1040" />
+<P1  x="407" y="77" id="1064" />
+<P2  x="407" y="115" id="1061" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1048" >
+<CONNECTOR type="115" id="1069" >
 <cdparam x="402" y="344" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="null" />
-<P1  x="407" y="383" id="1038" />
-<P2  x="407" y="425" id="1035" />
+<P1  x="407" y="383" id="1059" />
+<P2  x="407" y="425" id="1056" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1049" >
+<CONNECTOR type="115" id="1070" >
 <cdparam x="407" y="162" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="null" />
-<P1  x="407" y="145" id="1041" />
-<P2  x="407" y="191" id="1032" />
+<P1  x="407" y="145" id="1062" />
+<P2  x="407" y="191" id="1053" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 
 </TMLActivityDiagramPanel>
 
-<TMLActivityDiagramPanel name="F_CWL" minX="10" maxX="1400" minY="10" maxY="900" >
-<COMPONENT type="1010" id="1052" >
-<cdparam x="363" y="134" />
-<sizeparam width="102" 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="cwl_evt_in(size) " />
-<TGConnectingPoint num="0" id="1050" />
-<TGConnectingPoint num="1" id="1051" />
-<extraparam>
-<Data eventName="cwl_evt_in" nbOfParams="5" />
-<Param index="0" value="size" />
-</extraparam>
-</COMPONENT>
-
-<COMPONENT type="1001" id="1054" >
-<cdparam x="407" y="397" />
+<TMLActivityDiagramPanel name="F_Sink" minX="10" maxX="1400" minY="10" maxY="900" >
+<COMPONENT type="1001" id="1072" >
+<cdparam x="396" y="355" />
 <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="1053" />
+<TGConnectingPoint num="0" id="1071" />
 </COMPONENT>
 
-<COMPONENT type="1007" id="1057" >
-<cdparam x="372" y="206" />
-<sizeparam width="85" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<COMPONENT type="1007" id="1075" >
+<cdparam x="334" y="265" />
+<sizeparam width="145" 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="cwl_req(size)" />
-<TGConnectingPoint num="0" id="1055" />
-<TGConnectingPoint num="1" id="1056" />
+<infoparam name="send request" value="sink_req(size + size_1)" />
+<TGConnectingPoint num="0" id="1073" />
+<TGConnectingPoint num="1" id="1074" />
 <extraparam>
-<Data requestName="cwl_req" nbOfParams="5" />
-<Param index="0" value="size" />
+<Data requestName="sink_req" nbOfParams="5" />
+<Param index="0" value="size + size_1" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1000" id="1059" >
-<cdparam x="407" y="68" />
+<COMPONENT type="1000" id="1077" >
+<cdparam x="400" y="73" />
 <sizeparam width="15" height="15" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
 <infoparam name="start state" value="null" />
-<TGConnectingPoint num="0" id="1058" />
+<TGConnectingPoint num="0" id="1076" />
 </COMPONENT>
 
-<COMPONENT type="1008" id="1062" >
-<cdparam x="356" y="333" />
-<sizeparam width="120" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<COMPONENT type="1010" id="1080" >
+<cdparam x="340" y="187" />
+<sizeparam width="135" 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="cwl_evt_out_1(size)" />
-<TGConnectingPoint num="0" id="1060" />
-<TGConnectingPoint num="1" id="1061" />
+<infoparam name="wait event" value="sink_evt_in_1(size_1) " />
+<TGConnectingPoint num="0" id="1078" />
+<TGConnectingPoint num="1" id="1079" />
 <extraparam>
-<Data eventName="cwl_evt_out_1" nbOfParams="5" />
-<Param index="0" value="size" />
+<Data eventName="sink_evt_in_1" nbOfParams="5" />
+<Param index="0" value="size_1" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1008" id="1065" >
-<cdparam x="361" y="280" />
-<sizeparam width="106" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<COMPONENT type="1010" id="1083" >
+<cdparam x="354" y="139" />
+<sizeparam width="107" 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="cwl_evt_out(size)" />
-<TGConnectingPoint num="0" id="1063" />
-<TGConnectingPoint num="1" id="1064" />
+<infoparam name="wait event" value="sink_evt_in(size) " />
+<TGConnectingPoint num="0" id="1081" />
+<TGConnectingPoint num="1" id="1082" />
 <extraparam>
-<Data eventName="cwl_evt_out" nbOfParams="5" />
+<Data eventName="sink_evt_in" nbOfParams="5" />
 <Param index="0" value="size" />
 </extraparam>
-</COMPONENT>
-
-<CONNECTOR type="115" id="1066" >
-<cdparam x="416" y="358" />
-<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<infoparam name="connector" value="null" />
-<P1  x="416" y="358" id="1061" />
-<P2  x="417" y="392" id="1053" />
-<AutomaticDrawing  data="true" />
-</CONNECTOR>
-<CONNECTOR type="115" id="1067" >
-<cdparam x="414" y="231" />
+</COMPONENT>
+
+<CONNECTOR type="115" id="1084" >
+<cdparam x="407" y="212" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="null" />
-<P1  x="414" y="231" id="1056" />
-<P2  x="414" y="275" id="1063" />
+<P1  x="407" y="212" id="1079" />
+<P2  x="406" y="260" id="1073" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1068" >
-<cdparam x="414" y="305" />
+<CONNECTOR type="115" id="1085" >
+<cdparam x="406" y="290" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="null" />
-<P1  x="414" y="305" id="1064" />
-<P2  x="416" y="328" id="1060" />
+<P1  x="406" y="290" id="1074" />
+<P2  x="406" y="350" id="1071" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1069" >
-<cdparam x="414" y="88" />
+<CONNECTOR type="115" id="1086" >
+<cdparam x="407" y="93" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="null" />
-<P1  x="414" y="88" id="1058" />
-<P2  x="414" y="129" id="1050" />
+<P1  x="407" y="93" id="1076" />
+<P2  x="407" y="134" id="1081" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1070" >
-<cdparam x="454" y="151" />
+<CONNECTOR type="115" id="1087" >
+<cdparam x="447" y="156" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="null" />
-<P1  x="414" y="159" id="1051" />
-<P2  x="414" y="201" id="1055" />
+<P1  x="407" y="164" id="1082" />
+<P2  x="407" y="182" id="1078" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 
 </TMLActivityDiagramPanel>
 
 <TMLActivityDiagramPanel name="X_Sink" minX="10" maxX="1400" minY="10" maxY="900" >
-<COMPONENT type="1013" id="1074" >
+<COMPONENT type="1013" id="1091" >
 <cdparam x="445" y="298" />
 <sizeparam width="10" height="30" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
 <infoparam name="execI" value="null" />
-<TGConnectingPoint num="0" id="1072" />
-<TGConnectingPoint num="1" id="1073" />
+<TGConnectingPoint num="0" id="1089" />
+<TGConnectingPoint num="1" id="1090" />
 </COMPONENT>
-<SUBCOMPONENT type="-1" id="1071" >
-<father id="1074" num="0" />
+<SUBCOMPONENT type="-1" id="1088" >
+<father id="1091" num="0" />
 <cdparam x="460" y="318" />
 <sizeparam width="23" height="15" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
@@ -3402,194 +3498,194 @@ processing tasks
 <infoparam name="value of the delay" value="size" />
 </SUBCOMPONENT>
 
-<COMPONENT type="1009" id="1077" >
+<COMPONENT type="1009" id="1094" >
 <cdparam x="395" y="217" />
 <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="read channel" value="sink_ch_in(size) " />
-<TGConnectingPoint num="0" id="1075" />
-<TGConnectingPoint num="1" id="1076" />
+<TGConnectingPoint num="0" id="1092" />
+<TGConnectingPoint num="1" id="1093" />
 <extraparam>
 <Data channelName="sink_ch_in" nbOfSamples="size" secPattern="" isAttacker="No" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1001" id="1079" >
+<COMPONENT type="1001" id="1096" >
 <cdparam x="440" y="384" />
 <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="1078" />
+<TGConnectingPoint num="0" id="1095" />
 </COMPONENT>
 
-<COMPONENT type="1034" id="1082" >
+<COMPONENT type="1034" id="1099" >
 <cdparam x="394" y="141" />
 <sizeparam width="113" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
 <infoparam name="read args" value="getReqArg (size)" />
-<TGConnectingPoint num="0" id="1080" />
-<TGConnectingPoint num="1" id="1081" />
+<TGConnectingPoint num="0" id="1097" />
+<TGConnectingPoint num="1" id="1098" />
 <extraparam>
 <Data nbOfParams="5" />
 <Param index="0" value="size" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1000" id="1084" >
+<COMPONENT type="1000" id="1101" >
 <cdparam x="443" y="78" />
 <sizeparam width="15" height="15" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
 <infoparam name="start state" value="null" />
-<TGConnectingPoint num="0" id="1083" />
+<TGConnectingPoint num="0" id="1100" />
 </COMPONENT>
 
-<CONNECTOR type="115" id="1085" >
+<CONNECTOR type="115" id="1102" >
 <cdparam x="450" y="333" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="null" />
-<P1  x="450" y="333" id="1073" />
-<P2  x="450" y="379" id="1078" />
+<P1  x="450" y="333" id="1090" />
+<P2  x="450" y="379" id="1095" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1086" >
+<CONNECTOR type="115" id="1103" >
 <cdparam x="593" y="173" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="null" />
-<P1  x="450" y="242" id="1076" />
-<P2  x="450" y="293" id="1072" />
+<P1  x="450" y="242" id="1093" />
+<P2  x="450" y="293" id="1089" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1087" >
+<CONNECTOR type="115" id="1104" >
 <cdparam x="450" y="98" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="null" />
-<P1  x="450" y="98" id="1083" />
-<P2  x="450" y="136" id="1080" />
+<P1  x="450" y="98" id="1100" />
+<P2  x="450" y="136" id="1097" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1088" >
+<CONNECTOR type="115" id="1105" >
 <cdparam x="450" y="183" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="null" />
-<P1  x="450" y="166" id="1081" />
-<P2  x="450" y="212" id="1075" />
+<P1  x="450" y="166" id="1098" />
+<P2  x="450" y="212" id="1092" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 
 </TMLActivityDiagramPanel>
 
-<TMLActivityDiagramPanel name="F_Sink" minX="10" maxX="1400" minY="10" maxY="900" >
-<COMPONENT type="1001" id="1090" >
-<cdparam x="396" y="355" />
-<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="1089" />
-</COMPONENT>
-
-<COMPONENT type="1007" id="1093" >
-<cdparam x="334" y="265" />
-<sizeparam width="145" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<TMLActivityDiagramPanel name="F_CWP_Q" minX="10" maxX="1400" minY="10" maxY="900" >
+<COMPONENT type="1010" id="1108" >
+<cdparam x="342" y="117" />
+<sizeparam width="122" 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="sink_req(size + size_1)" />
-<TGConnectingPoint num="0" id="1091" />
-<TGConnectingPoint num="1" id="1092" />
+<infoparam name="wait event" value="cwpQ_evt_in(size) " />
+<TGConnectingPoint num="0" id="1106" />
+<TGConnectingPoint num="1" id="1107" />
 <extraparam>
-<Data requestName="sink_req" nbOfParams="5" />
-<Param index="0" value="size + size_1" />
+<Data eventName="cwpQ_evt_in" nbOfParams="5" />
+<Param index="0" value="size" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1000" id="1095" >
-<cdparam x="400" y="73" />
-<sizeparam width="15" height="15" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<COMPONENT type="1001" id="1110" >
+<cdparam x="393" y="339" />
+<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="start state" value="null" />
-<TGConnectingPoint num="0" id="1094" />
+<infoparam name="stop state" value="null" />
+<TGConnectingPoint num="0" id="1109" />
 </COMPONENT>
 
-<COMPONENT type="1010" id="1098" >
-<cdparam x="340" y="187" />
-<sizeparam width="135" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<COMPONENT type="1008" id="1113" >
+<cdparam x="339" y="263" />
+<sizeparam width="128" 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="sink_evt_in_1(size_1) " />
-<TGConnectingPoint num="0" id="1096" />
-<TGConnectingPoint num="1" id="1097" />
+<infoparam name="send event" value="cwpQ_evt_out(size)" />
+<TGConnectingPoint num="0" id="1111" />
+<TGConnectingPoint num="1" id="1112" />
 <extraparam>
-<Data eventName="sink_evt_in_1" nbOfParams="5" />
-<Param index="0" value="size_1" />
+<Data eventName="cwpQ_evt_out" nbOfParams="5" />
+<Param index="0" value="size" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1010" id="1101" >
-<cdparam x="354" y="139" />
-<sizeparam width="107" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<COMPONENT type="1007" id="1116" >
+<cdparam x="352" y="189" />
+<sizeparam width="103" 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="sink_evt_in(size) " />
-<TGConnectingPoint num="0" id="1099" />
-<TGConnectingPoint num="1" id="1100" />
+<infoparam name="send request" value="cwpQ_req(size)" />
+<TGConnectingPoint num="0" id="1114" />
+<TGConnectingPoint num="1" id="1115" />
 <extraparam>
-<Data eventName="sink_evt_in" nbOfParams="5" />
+<Data requestName="cwpQ_req" nbOfParams="5" />
 <Param index="0" value="size" />
 </extraparam>
 </COMPONENT>
 
-<CONNECTOR type="115" id="1102" >
-<cdparam x="407" y="212" />
+<COMPONENT type="1000" id="1118" >
+<cdparam x="396" y="51" />
+<sizeparam width="15" height="15" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
+<infoparam name="start state" value="null" />
+<TGConnectingPoint num="0" id="1117" />
+</COMPONENT>
+
+<CONNECTOR type="115" id="1119" >
+<cdparam x="403" y="214" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="null" />
-<P1  x="407" y="212" id="1097" />
-<P2  x="406" y="260" id="1091" />
+<P1  x="403" y="214" id="1115" />
+<P2  x="403" y="258" id="1111" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1103" >
-<cdparam x="406" y="290" />
+<CONNECTOR type="115" id="1120" >
+<cdparam x="403" y="288" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="null" />
-<P1  x="406" y="290" id="1092" />
-<P2  x="406" y="350" id="1089" />
+<P1  x="403" y="288" id="1112" />
+<P2  x="403" y="334" id="1109" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1104" >
-<cdparam x="407" y="93" />
+<CONNECTOR type="115" id="1121" >
+<cdparam x="403" y="71" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="null" />
-<P1  x="407" y="93" id="1094" />
-<P2  x="407" y="134" id="1099" />
+<P1  x="403" y="71" id="1117" />
+<P2  x="403" y="112" id="1106" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1105" >
-<cdparam x="447" y="156" />
+<CONNECTOR type="115" id="1122" >
+<cdparam x="443" y="134" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="null" />
-<P1  x="407" y="164" id="1100" />
-<P2  x="407" y="182" id="1096" />
+<P1  x="403" y="142" id="1107" />
+<P2  x="403" y="184" id="1114" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 
 </TMLActivityDiagramPanel>
 
 <TMLActivityDiagramPanel name="X_CWP_Q" minX="10" maxX="1400" minY="10" maxY="900" >
-<COMPONENT type="1013" id="1109" >
+<COMPONENT type="1013" id="1126" >
 <cdparam x="365" y="275" />
 <sizeparam width="10" height="30" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
 <infoparam name="execI" value="null" />
-<TGConnectingPoint num="0" id="1107" />
-<TGConnectingPoint num="1" id="1108" />
+<TGConnectingPoint num="0" id="1124" />
+<TGConnectingPoint num="1" id="1125" />
 </COMPONENT>
-<SUBCOMPONENT type="-1" id="1106" >
-<father id="1109" num="0" />
+<SUBCOMPONENT type="-1" id="1123" >
+<father id="1126" num="0" />
 <cdparam x="380" y="295" />
 <sizeparam width="23" height="15" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
@@ -3597,215 +3693,215 @@ processing tasks
 <infoparam name="value of the delay" value="size" />
 </SUBCOMPONENT>
 
-<COMPONENT type="1009" id="1112" >
+<COMPONENT type="1009" id="1129" >
 <cdparam x="314" y="194" />
 <sizeparam width="112" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
 <infoparam name="read channel" value="cwpQ_ch_in(size) " />
-<TGConnectingPoint num="0" id="1110" />
-<TGConnectingPoint num="1" id="1111" />
+<TGConnectingPoint num="0" id="1127" />
+<TGConnectingPoint num="1" id="1128" />
 <extraparam>
 <Data channelName="cwpQ_ch_in" nbOfSamples="size" secPattern="" isAttacker="No" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1001" id="1114" >
+<COMPONENT type="1001" id="1131" >
 <cdparam x="360" 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="1113" />
+<TGConnectingPoint num="0" id="1130" />
 </COMPONENT>
 
-<COMPONENT type="1006" id="1117" >
+<COMPONENT type="1006" id="1134" >
 <cdparam x="312" y="356" />
 <sizeparam width="116" 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="cwpQ_ch_out(size)" />
-<TGConnectingPoint num="0" id="1115" />
-<TGConnectingPoint num="1" id="1116" />
+<TGConnectingPoint num="0" id="1132" />
+<TGConnectingPoint num="1" id="1133" />
 <extraparam>
 <Data channelName="cwpQ_ch_out" nbOfSamples="size" secPattern="" isAttacker="No" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1034" id="1120" >
+<COMPONENT type="1034" id="1137" >
 <cdparam x="317" y="118" />
 <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="read args" value="getReqArg (size)" />
-<TGConnectingPoint num="0" id="1118" />
-<TGConnectingPoint num="1" id="1119" />
+<TGConnectingPoint num="0" id="1135" />
+<TGConnectingPoint num="1" id="1136" />
 <extraparam>
 <Data nbOfParams="5" />
 <Param index="0" value="size" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1000" id="1122" >
+<COMPONENT type="1000" id="1139" >
 <cdparam x="363" y="55" />
 <sizeparam width="15" height="15" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
 <infoparam name="start state" value="null" />
-<TGConnectingPoint num="0" id="1121" />
+<TGConnectingPoint num="0" id="1138" />
 </COMPONENT>
 
-<CONNECTOR type="115" id="1123" >
+<CONNECTOR type="115" id="1140" >
 <cdparam x="513" y="150" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="null" />
-<P1  x="370" y="219" id="1111" />
-<P2  x="370" y="270" id="1107" />
+<P1  x="370" y="219" id="1128" />
+<P2  x="370" y="270" id="1124" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1124" >
+<CONNECTOR type="115" id="1141" >
 <cdparam x="425" y="308" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="null" />
-<P1  x="370" y="310" id="1108" />
-<P2  x="370" y="351" id="1115" />
+<P1  x="370" y="310" id="1125" />
+<P2  x="370" y="351" id="1132" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1125" >
+<CONNECTOR type="115" id="1142" >
 <cdparam x="370" y="75" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="null" />
-<P1  x="370" y="75" id="1121" />
-<P2  x="370" y="113" id="1118" />
+<P1  x="370" y="75" id="1138" />
+<P2  x="370" y="113" id="1135" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1126" >
+<CONNECTOR type="115" id="1143" >
 <cdparam x="365" y="342" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="null" />
-<P1  x="370" y="381" id="1116" />
-<P2  x="370" y="423" id="1113" />
+<P1  x="370" y="381" id="1133" />
+<P2  x="370" y="423" id="1130" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1127" >
+<CONNECTOR type="115" id="1144" >
 <cdparam x="370" y="160" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="null" />
-<P1  x="370" y="143" id="1119" />
-<P2  x="370" y="189" id="1110" />
+<P1  x="370" y="143" id="1136" />
+<P2  x="370" y="189" id="1127" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 
 </TMLActivityDiagramPanel>
 
-<TMLActivityDiagramPanel name="F_CWP_Q" minX="10" maxX="1400" minY="10" maxY="900" >
-<COMPONENT type="1010" id="1130" >
-<cdparam x="342" y="117" />
-<sizeparam width="122" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<TMLActivityDiagramPanel name="F_CWP_I" minX="10" maxX="1400" minY="10" maxY="900" >
+<COMPONENT type="1010" id="1147" >
+<cdparam x="324" y="132" />
+<sizeparam width="110" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
-<infoparam name="wait event" value="cwpQ_evt_in(size) " />
-<TGConnectingPoint num="0" id="1128" />
-<TGConnectingPoint num="1" id="1129" />
+<infoparam name="wait event" value="cwpI_evt_in(size) " />
+<TGConnectingPoint num="0" id="1145" />
+<TGConnectingPoint num="1" id="1146" />
 <extraparam>
-<Data eventName="cwpQ_evt_in" nbOfParams="5" />
+<Data eventName="cwpI_evt_in" nbOfParams="5" />
 <Param index="0" value="size" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1001" id="1132" >
-<cdparam x="393" y="339" />
+<COMPONENT type="1001" id="1149" >
+<cdparam x="369" y="354" />
 <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="1131" />
+<TGConnectingPoint num="0" id="1148" />
 </COMPONENT>
 
-<COMPONENT type="1008" id="1135" >
-<cdparam x="339" y="263" />
-<sizeparam width="128" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<COMPONENT type="1008" id="1152" >
+<cdparam x="322" y="278" />
+<sizeparam width="114" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
-<infoparam name="send event" value="cwpQ_evt_out(size)" />
-<TGConnectingPoint num="0" id="1133" />
-<TGConnectingPoint num="1" id="1134" />
+<infoparam name="send event" value="cwpI_evt_out(size)" />
+<TGConnectingPoint num="0" id="1150" />
+<TGConnectingPoint num="1" id="1151" />
 <extraparam>
-<Data eventName="cwpQ_evt_out" nbOfParams="5" />
+<Data eventName="cwpI_evt_out" nbOfParams="5" />
 <Param index="0" value="size" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1007" id="1138" >
-<cdparam x="352" y="189" />
-<sizeparam width="103" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<COMPONENT type="1007" id="1155" >
+<cdparam x="333" y="204" />
+<sizeparam width="93" 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="cwpQ_req(size)" />
-<TGConnectingPoint num="0" id="1136" />
-<TGConnectingPoint num="1" id="1137" />
+<infoparam name="send request" value="cwpI_req(size)" />
+<TGConnectingPoint num="0" id="1153" />
+<TGConnectingPoint num="1" id="1154" />
 <extraparam>
-<Data requestName="cwpQ_req" nbOfParams="5" />
+<Data requestName="cwpI_req" nbOfParams="5" />
 <Param index="0" value="size" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1000" id="1140" >
-<cdparam x="396" y="51" />
+<COMPONENT type="1000" id="1157" >
+<cdparam x="372" y="66" />
 <sizeparam width="15" height="15" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
 <infoparam name="start state" value="null" />
-<TGConnectingPoint num="0" id="1139" />
+<TGConnectingPoint num="0" id="1156" />
 </COMPONENT>
 
-<CONNECTOR type="115" id="1141" >
-<cdparam x="403" y="214" />
+<CONNECTOR type="115" id="1158" >
+<cdparam x="379" y="229" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="null" />
-<P1  x="403" y="214" id="1137" />
-<P2  x="403" y="258" id="1133" />
+<P1  x="379" y="229" id="1154" />
+<P2  x="379" y="273" id="1150" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1142" >
-<cdparam x="403" y="288" />
+<CONNECTOR type="115" id="1159" >
+<cdparam x="379" y="303" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="null" />
-<P1  x="403" y="288" id="1134" />
-<P2  x="403" y="334" id="1131" />
+<P1  x="379" y="303" id="1151" />
+<P2  x="379" y="349" id="1148" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1143" >
-<cdparam x="403" y="71" />
+<CONNECTOR type="115" id="1160" >
+<cdparam x="379" y="86" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="null" />
-<P1  x="403" y="71" id="1139" />
-<P2  x="403" y="112" id="1128" />
+<P1  x="379" y="86" id="1156" />
+<P2  x="379" y="127" id="1145" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-<CONNECTOR type="115" id="1144" >
-<cdparam x="443" y="134" />
+<CONNECTOR type="115" id="1161" >
+<cdparam x="419" y="149" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="null" />
-<P1  x="403" y="142" id="1129" />
-<P2  x="403" y="184" id="1136" />
+<P1  x="379" y="157" id="1146" />
+<P2  x="379" y="199" id="1153" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 
 </TMLActivityDiagramPanel>
 
 <TMLActivityDiagramPanel name="X_CWP_I" minX="10" maxX="1400" minY="10" maxY="900" >
-<COMPONENT type="1013" id="1148" >
+<COMPONENT type="1013" id="1165" >
 <cdparam x="369" y="290" />
 <sizeparam width="10" height="30" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
 <infoparam name="execI" value="null" />
-<TGConnectingPoint num="0" id="1146" />
-<TGConnectingPoint num="1" id="1147" />
+<TGConnectingPoint num="0" id="1163" />
+<TGConnectingPoint num="1" id="1164" />
 </COMPONENT>
-<SUBCOMPONENT type="-1" id="1145" >
-<father id="1148" num="0" />
+<SUBCOMPONENT type="-1" id="1162" >
+<father id="1165" num="0" />
 <cdparam x="384" y="310" />
 <sizeparam width="23" height="15" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
@@ -3813,198 +3909,102 @@ processing tasks
 <infoparam name="value of the delay" value="size" />
 </SUBCOMPONENT>
 
-<COMPONENT type="1009" id="1151" >
+<COMPONENT type="1009" id="1168" >
 <cdparam x="318" y="209" />
 <sizeparam width="112" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
 <infoparam name="read channel" value="cwpI_ch_in(size) " />
-<TGConnectingPoint num="0" id="1149" />
-<TGConnectingPoint num="1" id="1150" />
+<TGConnectingPoint num="0" id="1166" />
+<TGConnectingPoint num="1" id="1167" />
 <extraparam>
 <Data channelName="cwpI_ch_in" nbOfSamples="size" secPattern="" isAttacker="No" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1001" id="1153" >
+<COMPONENT type="1001" id="1170" >
 <cdparam x="364" y="443" />
 <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="1152" />
+<TGConnectingPoint num="0" id="1169" />
 </COMPONENT>
 
-<COMPONENT type="1006" id="1156" >
+<COMPONENT type="1006" id="1173" >
 <cdparam x="315" y="371" />
 <sizeparam width="118" 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="cwpI_ch_out(size)" />
-<TGConnectingPoint num="0" id="1154" />
-<TGConnectingPoint num="1" id="1155" />
+<TGConnectingPoint num="0" id="1171" />
+<TGConnectingPoint num="1" id="1172" />
 <extraparam>
 <Data channelName="cwpI_ch_out" nbOfSamples="size" secPattern="" isAttacker="No" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1034" id="1159" >
+<COMPONENT type="1034" id="1176" >
 <cdparam x="318" y="133" />
 <sizeparam width="113" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
 <infoparam name="read args" value="getReqArg (size)" />
-<TGConnectingPoint num="0" id="1157" />
-<TGConnectingPoint num="1" id="1158" />
+<TGConnectingPoint num="0" id="1174" />
+<TGConnectingPoint num="1" id="1175" />
 <extraparam>
 <Data nbOfParams="5" />
 <Param index="0" value="size" />
 </extraparam>
 </COMPONENT>
 
-<COMPONENT type="1000" id="1161" >
+<COMPONENT type="1000" id="1178" >
 <cdparam x="367" y="70" />
 <sizeparam width="15" height="15" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
 <infoparam name="start state" value="null" />
-<TGConnectingPoint num="0" id="1160" />
+<TGConnectingPoint num="0" id="1177" />
 </COMPONENT>
 
-<CONNECTOR type="115" id="1162" >
+<CONNECTOR type="115" id="1179" >
 <cdparam x="517" y="165" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="null" />
-<P1  x="374" y="234" id="1150" />
-<P2  x="374" y="285" id="1146" />
-<AutomaticDrawing  data="true" />
-</CONNECTOR>
-<CONNECTOR type="115" id="1163" >
-<cdparam x="429" y="323" />
-<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<infoparam name="connector" value="null" />
-<P1  x="374" y="325" id="1147" />
-<P2  x="374" y="366" id="1154" />
-<AutomaticDrawing  data="true" />
-</CONNECTOR>
-<CONNECTOR type="115" id="1164" >
-<cdparam x="374" y="90" />
-<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<infoparam name="connector" value="null" />
-<P1  x="374" y="90" id="1160" />
-<P2  x="374" y="128" id="1157" />
-<AutomaticDrawing  data="true" />
-</CONNECTOR>
-<CONNECTOR type="115" id="1165" >
-<cdparam x="369" y="357" />
-<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<infoparam name="connector" value="null" />
-<P1  x="374" y="396" id="1155" />
-<P2  x="374" y="438" id="1152" />
-<AutomaticDrawing  data="true" />
-</CONNECTOR>
-<CONNECTOR type="115" id="1166" >
-<cdparam x="374" y="175" />
-<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<infoparam name="connector" value="null" />
-<P1  x="374" y="158" id="1158" />
-<P2  x="374" y="204" id="1149" />
+<P1  x="374" y="234" id="1167" />
+<P2  x="374" y="285" id="1163" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
-
-</TMLActivityDiagramPanel>
-
-<TMLActivityDiagramPanel name="F_CWP_I" minX="10" maxX="1400" minY="10" maxY="900" >
-<COMPONENT type="1010" id="1169" >
-<cdparam x="324" y="132" />
-<sizeparam width="110" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<hidden value="false" />
-<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
-<infoparam name="wait event" value="cwpI_evt_in(size) " />
-<TGConnectingPoint num="0" id="1167" />
-<TGConnectingPoint num="1" id="1168" />
-<extraparam>
-<Data eventName="cwpI_evt_in" nbOfParams="5" />
-<Param index="0" value="size" />
-</extraparam>
-</COMPONENT>
-
-<COMPONENT type="1001" id="1171" >
-<cdparam x="369" y="354" />
-<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="1170" />
-</COMPONENT>
-
-<COMPONENT type="1008" id="1174" >
-<cdparam x="322" y="278" />
-<sizeparam width="114" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<hidden value="false" />
-<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
-<infoparam name="send event" value="cwpI_evt_out(size)" />
-<TGConnectingPoint num="0" id="1172" />
-<TGConnectingPoint num="1" id="1173" />
-<extraparam>
-<Data eventName="cwpI_evt_out" nbOfParams="5" />
-<Param index="0" value="size" />
-</extraparam>
-</COMPONENT>
-
-<COMPONENT type="1007" id="1177" >
-<cdparam x="333" y="204" />
-<sizeparam width="93" 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="cwpI_req(size)" />
-<TGConnectingPoint num="0" id="1175" />
-<TGConnectingPoint num="1" id="1176" />
-<extraparam>
-<Data requestName="cwpI_req" nbOfParams="5" />
-<Param index="0" value="size" />
-</extraparam>
-</COMPONENT>
-
-<COMPONENT type="1000" id="1179" >
-<cdparam x="372" y="66" />
-<sizeparam width="15" height="15" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
-<hidden value="false" />
-<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
-<infoparam name="start state" value="null" />
-<TGConnectingPoint num="0" id="1178" />
-</COMPONENT>
-
 <CONNECTOR type="115" id="1180" >
-<cdparam x="379" y="229" />
+<cdparam x="429" y="323" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="null" />
-<P1  x="379" y="229" id="1176" />
-<P2  x="379" y="273" id="1172" />
+<P1  x="374" y="325" id="1164" />
+<P2  x="374" y="366" id="1171" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="115" id="1181" >
-<cdparam x="379" y="303" />
+<cdparam x="374" y="90" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="null" />
-<P1  x="379" y="303" id="1173" />
-<P2  x="379" y="349" id="1170" />
+<P1  x="374" y="90" id="1177" />
+<P2  x="374" y="128" id="1174" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="115" id="1182" >
-<cdparam x="379" y="86" />
+<cdparam x="369" y="357" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="null" />
-<P1  x="379" y="86" id="1178" />
-<P2  x="379" y="127" id="1167" />
+<P1  x="374" y="396" id="1172" />
+<P2  x="374" y="438" id="1169" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="115" id="1183" >
-<cdparam x="419" y="149" />
+<cdparam x="374" y="175" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <infoparam name="connector" value="null" />
-<P1  x="379" y="157" id="1168" />
-<P2  x="379" y="199" id="1175" />
+<P1  x="374" y="158" id="1175" />
+<P2  x="374" y="204" id="1166" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 
@@ -10956,11 +10956,11 @@ sequence diagram.
 </COMPONENT>
 <SUBCOMPONENT type="1101" id="5178" >
 <father id="5266" num="0" />
-<cdparam x="1686" y="522" />
-<sizeparam width="156" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="1465" y="339" />
+<sizeparam width="164" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="261" minY="0" maxY="253" />
-<infoparam name="TGComponent" value="Zigbee_TX::F_CWP_I" />
+<cdrectangleparam minX="0" maxX="253" minY="0" maxY="253" />
+<infoparam name="TGComponent" value="Zigbee_TX::F_Source" />
 <TGConnectingPoint num="0" id="5170" />
 <TGConnectingPoint num="1" id="5171" />
 <TGConnectingPoint num="2" id="5172" />
@@ -10970,16 +10970,16 @@ sequence diagram.
 <TGConnectingPoint num="6" id="5176" />
 <TGConnectingPoint num="7" id="5177" />
 <extraparam>
-<info value="Zigbee_TX::F_CWP_I" taskName="F_CWP_I" referenceTaskName="Zigbee_TX" priority="0" operation="F_CWP_I" fatherComponentMECType="0" />
+<info value="Zigbee_TX::F_Source" taskName="F_Source" referenceTaskName="Zigbee_TX" priority="0" operation="F_Source" fatherComponentMECType="0" />
 </extraparam>
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1101" id="5187" >
 <father id="5266" num="1" />
-<cdparam x="1685" y="459" />
-<sizeparam width="162" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="1466" y="395" />
+<sizeparam width="164" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="255" minY="0" maxY="253" />
-<infoparam name="TGComponent" value="Zigbee_TX::F_CWP_Q" />
+<cdrectangleparam minX="0" maxX="253" minY="0" maxY="253" />
+<infoparam name="TGComponent" value="Zigbee_TX::X_Source" />
 <TGConnectingPoint num="0" id="5179" />
 <TGConnectingPoint num="1" id="5180" />
 <TGConnectingPoint num="2" id="5181" />
@@ -10989,16 +10989,16 @@ sequence diagram.
 <TGConnectingPoint num="6" id="5185" />
 <TGConnectingPoint num="7" id="5186" />
 <extraparam>
-<info value="Zigbee_TX::F_CWP_Q" taskName="F_CWP_Q" referenceTaskName="Zigbee_TX" priority="0" operation="F_CWP_Q" fatherComponentMECType="0" />
+<info value="Zigbee_TX::X_Source" taskName="X_Source" referenceTaskName="Zigbee_TX" priority="0" operation="X_Source" fatherComponentMECType="0" />
 </extraparam>
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1101" id="5196" >
 <father id="5266" num="2" />
-<cdparam x="1691" y="345" />
-<sizeparam width="145" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="1466" y="456" />
+<sizeparam width="223" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="272" minY="0" maxY="253" />
-<infoparam name="TGComponent" value="Zigbee_TX::F_CWL" />
+<cdrectangleparam minX="0" maxX="194" minY="0" maxY="253" />
+<infoparam name="TGComponent" value="Zigbee_TX::F_Symbol2ChipSeq" />
 <TGConnectingPoint num="0" id="5188" />
 <TGConnectingPoint num="1" id="5189" />
 <TGConnectingPoint num="2" id="5190" />
@@ -11008,16 +11008,16 @@ sequence diagram.
 <TGConnectingPoint num="6" id="5194" />
 <TGConnectingPoint num="7" id="5195" />
 <extraparam>
-<info value="Zigbee_TX::F_CWL" taskName="F_CWL" referenceTaskName="Zigbee_TX" priority="0" operation="F_CWL" fatherComponentMECType="0" />
+<info value="Zigbee_TX::F_Symbol2ChipSeq" taskName="F_Symbol2ChipSeq" referenceTaskName="Zigbee_TX" priority="0" operation="F_Symbol2ChipSeq" fatherComponentMECType="0" />
 </extraparam>
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1101" id="5205" >
 <father id="5266" num="3" />
-<cdparam x="1688" y="405" />
-<sizeparam width="146" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="1466" y="518" />
+<sizeparam width="189" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="271" minY="0" maxY="253" />
-<infoparam name="TGComponent" value="Zigbee_TX::F_Sink" />
+<cdrectangleparam minX="0" maxX="228" minY="0" maxY="253" />
+<infoparam name="TGComponent" value="Zigbee_TX::X_Chip2Octet" />
 <TGConnectingPoint num="0" id="5197" />
 <TGConnectingPoint num="1" id="5198" />
 <TGConnectingPoint num="2" id="5199" />
@@ -11027,16 +11027,16 @@ sequence diagram.
 <TGConnectingPoint num="6" id="5203" />
 <TGConnectingPoint num="7" id="5204" />
 <extraparam>
-<info value="Zigbee_TX::F_Sink" taskName="F_Sink" referenceTaskName="Zigbee_TX" priority="0" operation="F_Sink" fatherComponentMECType="0" />
+<info value="Zigbee_TX::X_Chip2Octet" taskName="X_Chip2Octet" referenceTaskName="Zigbee_TX" priority="0" operation="X_Chip2Octet" fatherComponentMECType="0" />
 </extraparam>
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1101" id="5214" >
 <father id="5266" num="4" />
-<cdparam x="1466" y="518" />
-<sizeparam width="189" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="1688" y="405" />
+<sizeparam width="146" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="228" minY="0" maxY="253" />
-<infoparam name="TGComponent" value="Zigbee_TX::X_Chip2Octet" />
+<cdrectangleparam minX="0" maxX="271" minY="0" maxY="253" />
+<infoparam name="TGComponent" value="Zigbee_TX::F_Sink" />
 <TGConnectingPoint num="0" id="5206" />
 <TGConnectingPoint num="1" id="5207" />
 <TGConnectingPoint num="2" id="5208" />
@@ -11046,16 +11046,16 @@ sequence diagram.
 <TGConnectingPoint num="6" id="5212" />
 <TGConnectingPoint num="7" id="5213" />
 <extraparam>
-<info value="Zigbee_TX::X_Chip2Octet" taskName="X_Chip2Octet" referenceTaskName="Zigbee_TX" priority="0" operation="X_Chip2Octet" fatherComponentMECType="0" />
+<info value="Zigbee_TX::F_Sink" taskName="F_Sink" referenceTaskName="Zigbee_TX" priority="0" operation="F_Sink" fatherComponentMECType="0" />
 </extraparam>
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1101" id="5223" >
 <father id="5266" num="5" />
-<cdparam x="1466" y="456" />
-<sizeparam width="223" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="1691" y="345" />
+<sizeparam width="145" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="194" minY="0" maxY="253" />
-<infoparam name="TGComponent" value="Zigbee_TX::F_Symbol2ChipSeq" />
+<cdrectangleparam minX="0" maxX="272" minY="0" maxY="253" />
+<infoparam name="TGComponent" value="Zigbee_TX::F_CWL" />
 <TGConnectingPoint num="0" id="5215" />
 <TGConnectingPoint num="1" id="5216" />
 <TGConnectingPoint num="2" id="5217" />
@@ -11065,16 +11065,16 @@ sequence diagram.
 <TGConnectingPoint num="6" id="5221" />
 <TGConnectingPoint num="7" id="5222" />
 <extraparam>
-<info value="Zigbee_TX::F_Symbol2ChipSeq" taskName="F_Symbol2ChipSeq" referenceTaskName="Zigbee_TX" priority="0" operation="F_Symbol2ChipSeq" fatherComponentMECType="0" />
+<info value="Zigbee_TX::F_CWL" taskName="F_CWL" referenceTaskName="Zigbee_TX" priority="0" operation="F_CWL" fatherComponentMECType="0" />
 </extraparam>
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1101" id="5232" >
 <father id="5266" num="6" />
-<cdparam x="1466" y="395" />
-<sizeparam width="164" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="1685" y="459" />
+<sizeparam width="162" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="253" minY="0" maxY="253" />
-<infoparam name="TGComponent" value="Zigbee_TX::X_Source" />
+<cdrectangleparam minX="0" maxX="255" minY="0" maxY="253" />
+<infoparam name="TGComponent" value="Zigbee_TX::F_CWP_Q" />
 <TGConnectingPoint num="0" id="5224" />
 <TGConnectingPoint num="1" id="5225" />
 <TGConnectingPoint num="2" id="5226" />
@@ -11084,16 +11084,16 @@ sequence diagram.
 <TGConnectingPoint num="6" id="5230" />
 <TGConnectingPoint num="7" id="5231" />
 <extraparam>
-<info value="Zigbee_TX::X_Source" taskName="X_Source" referenceTaskName="Zigbee_TX" priority="0" operation="X_Source" fatherComponentMECType="0" />
+<info value="Zigbee_TX::F_CWP_Q" taskName="F_CWP_Q" referenceTaskName="Zigbee_TX" priority="0" operation="F_CWP_Q" fatherComponentMECType="0" />
 </extraparam>
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1101" id="5241" >
 <father id="5266" num="7" />
-<cdparam x="1465" y="339" />
-<sizeparam width="164" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="1686" y="522" />
+<sizeparam width="156" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="253" minY="0" maxY="253" />
-<infoparam name="TGComponent" value="Zigbee_TX::F_Source" />
+<cdrectangleparam minX="0" maxX="261" minY="0" maxY="253" />
+<infoparam name="TGComponent" value="Zigbee_TX::F_CWP_I" />
 <TGConnectingPoint num="0" id="5233" />
 <TGConnectingPoint num="1" id="5234" />
 <TGConnectingPoint num="2" id="5235" />
@@ -11103,7 +11103,7 @@ sequence diagram.
 <TGConnectingPoint num="6" id="5239" />
 <TGConnectingPoint num="7" id="5240" />
 <extraparam>
-<info value="Zigbee_TX::F_Source" taskName="F_Source" referenceTaskName="Zigbee_TX" priority="0" operation="F_Source" fatherComponentMECType="0" />
+<info value="Zigbee_TX::F_CWP_I" taskName="F_CWP_I" referenceTaskName="Zigbee_TX" priority="0" operation="F_CWP_I" fatherComponentMECType="0" />
 </extraparam>
 </SUBCOMPONENT>
 
@@ -11523,11 +11523,11 @@ sequence diagram.
 </COMPONENT>
 <SUBCOMPONENT type="1101" id="5534" >
 <father id="5577" num="0" />
-<cdparam x="700" y="233" />
-<sizeparam width="145" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="732" y="283" />
+<sizeparam width="156" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="93" minY="0" maxY="145" />
-<infoparam name="TGComponent" value="Zigbee_TX::X_CWL" />
+<cdrectangleparam minX="0" maxX="82" minY="0" maxY="145" />
+<infoparam name="TGComponent" value="Zigbee_TX::X_CWP_I" />
 <TGConnectingPoint num="0" id="5526" />
 <TGConnectingPoint num="1" id="5527" />
 <TGConnectingPoint num="2" id="5528" />
@@ -11537,7 +11537,7 @@ sequence diagram.
 <TGConnectingPoint num="6" id="5532" />
 <TGConnectingPoint num="7" id="5533" />
 <extraparam>
-<info value="Zigbee_TX::X_CWL" taskName="X_CWL" referenceTaskName="Zigbee_TX" priority="0" operation="CWL" fatherComponentMECType="1" />
+<info value="Zigbee_TX::X_CWP_I" taskName="X_CWP_I" referenceTaskName="Zigbee_TX" priority="0" operation="CWP" fatherComponentMECType="1" />
 </extraparam>
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1101" id="5543" >
@@ -11561,11 +11561,11 @@ sequence diagram.
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1101" id="5552" >
 <father id="5577" num="2" />
-<cdparam x="732" y="283" />
-<sizeparam width="156" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="700" y="233" />
+<sizeparam width="145" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="82" minY="0" maxY="145" />
-<infoparam name="TGComponent" value="Zigbee_TX::X_CWP_I" />
+<cdrectangleparam minX="0" maxX="93" minY="0" maxY="145" />
+<infoparam name="TGComponent" value="Zigbee_TX::X_CWL" />
 <TGConnectingPoint num="0" id="5544" />
 <TGConnectingPoint num="1" id="5545" />
 <TGConnectingPoint num="2" id="5546" />
@@ -11575,7 +11575,7 @@ sequence diagram.
 <TGConnectingPoint num="6" id="5550" />
 <TGConnectingPoint num="7" id="5551" />
 <extraparam>
-<info value="Zigbee_TX::X_CWP_I" taskName="X_CWP_I" referenceTaskName="Zigbee_TX" priority="0" operation="CWP" fatherComponentMECType="1" />
+<info value="Zigbee_TX::X_CWL" taskName="X_CWL" referenceTaskName="Zigbee_TX" priority="0" operation="CWL" fatherComponentMECType="1" />
 </extraparam>
 </SUBCOMPONENT>
 
@@ -12540,9 +12540,9 @@ sequence diagram.
 <SUBCOMPONENT type="1101" id="5945" >
 <father id="5970" num="0" />
 <cdparam x="48" y="315" />
-<sizeparam width="141" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<sizeparam width="146" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="111" minY="0" maxY="141" />
+<cdrectangleparam minX="0" maxX="106" minY="0" maxY="141" />
 <infoparam name="TGComponent" value="Zigbee_TX::X_Sink" />
 <TGConnectingPoint num="0" id="5937" />
 <TGConnectingPoint num="1" id="5938" />
@@ -12666,11 +12666,11 @@ sequence diagram.
 </COMPONENT>
 <SUBCOMPONENT type="1101" id="6029" >
 <father id="6117" num="0" />
-<cdparam x="1465" y="339" />
-<sizeparam width="154" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="1686" y="522" />
+<sizeparam width="156" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="263" minY="0" maxY="253" />
-<infoparam name="TGComponent" value="Zigbee_TX::F_Source" />
+<cdrectangleparam minX="0" maxX="261" minY="0" maxY="253" />
+<infoparam name="TGComponent" value="Zigbee_TX::F_CWP_I" />
 <TGConnectingPoint num="0" id="6021" />
 <TGConnectingPoint num="1" id="6022" />
 <TGConnectingPoint num="2" id="6023" />
@@ -12680,16 +12680,16 @@ sequence diagram.
 <TGConnectingPoint num="6" id="6027" />
 <TGConnectingPoint num="7" id="6028" />
 <extraparam>
-<info value="Zigbee_TX::F_Source" taskName="F_Source" referenceTaskName="Zigbee_TX" priority="0" operation="F_Source" fatherComponentMECType="0" />
+<info value="Zigbee_TX::F_CWP_I" taskName="F_CWP_I" referenceTaskName="Zigbee_TX" priority="0" operation="F_CWP_I" fatherComponentMECType="0" />
 </extraparam>
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1101" id="6038" >
 <father id="6117" num="1" />
-<cdparam x="1466" y="395" />
-<sizeparam width="156" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="1696" y="456" />
+<sizeparam width="162" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="261" minY="0" maxY="253" />
-<infoparam name="TGComponent" value="Zigbee_TX::X_Source" />
+<cdrectangleparam minX="0" maxX="255" minY="0" maxY="253" />
+<infoparam name="TGComponent" value="Zigbee_TX::F_CWP_Q" />
 <TGConnectingPoint num="0" id="6030" />
 <TGConnectingPoint num="1" id="6031" />
 <TGConnectingPoint num="2" id="6032" />
@@ -12699,16 +12699,16 @@ sequence diagram.
 <TGConnectingPoint num="6" id="6036" />
 <TGConnectingPoint num="7" id="6037" />
 <extraparam>
-<info value="Zigbee_TX::X_Source" taskName="X_Source" referenceTaskName="Zigbee_TX" priority="0" operation="X_Source" fatherComponentMECType="0" />
+<info value="Zigbee_TX::F_CWP_Q" taskName="F_CWP_Q" referenceTaskName="Zigbee_TX" priority="0" operation="F_CWP_Q" fatherComponentMECType="0" />
 </extraparam>
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1101" id="6047" >
 <father id="6117" num="2" />
-<cdparam x="1466" y="456" />
-<sizeparam width="212" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="1691" y="345" />
+<sizeparam width="145" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="205" minY="0" maxY="253" />
-<infoparam name="TGComponent" value="Zigbee_TX::F_Symbol2ChipSeq" />
+<cdrectangleparam minX="0" maxX="272" minY="0" maxY="253" />
+<infoparam name="TGComponent" value="Zigbee_TX::F_CWL" />
 <TGConnectingPoint num="0" id="6039" />
 <TGConnectingPoint num="1" id="6040" />
 <TGConnectingPoint num="2" id="6041" />
@@ -12718,16 +12718,16 @@ sequence diagram.
 <TGConnectingPoint num="6" id="6045" />
 <TGConnectingPoint num="7" id="6046" />
 <extraparam>
-<info value="Zigbee_TX::F_Symbol2ChipSeq" taskName="F_Symbol2ChipSeq" referenceTaskName="Zigbee_TX" priority="0" operation="F_Symbol2ChipSeq" fatherComponentMECType="0" />
+<info value="Zigbee_TX::F_CWL" taskName="F_CWL" referenceTaskName="Zigbee_TX" priority="0" operation="F_CWL" fatherComponentMECType="0" />
 </extraparam>
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1101" id="6056" >
 <father id="6117" num="3" />
-<cdparam x="1466" y="518" />
-<sizeparam width="180" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="1688" y="405" />
+<sizeparam width="146" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="237" minY="0" maxY="253" />
-<infoparam name="TGComponent" value="Zigbee_TX::F_Chip2Octet" />
+<cdrectangleparam minX="0" maxX="271" minY="0" maxY="253" />
+<infoparam name="TGComponent" value="Zigbee_TX::F_Sink" />
 <TGConnectingPoint num="0" id="6048" />
 <TGConnectingPoint num="1" id="6049" />
 <TGConnectingPoint num="2" id="6050" />
@@ -12737,16 +12737,16 @@ sequence diagram.
 <TGConnectingPoint num="6" id="6054" />
 <TGConnectingPoint num="7" id="6055" />
 <extraparam>
-<info value="Zigbee_TX::F_Chip2Octet" taskName="F_Chip2Octet" referenceTaskName="Zigbee_TX" priority="0" operation="F_Chip2Octet" fatherComponentMECType="0" />
+<info value="Zigbee_TX::F_Sink" taskName="F_Sink" referenceTaskName="Zigbee_TX" priority="0" operation="F_Sink" fatherComponentMECType="0" />
 </extraparam>
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1101" id="6065" >
 <father id="6117" num="4" />
-<cdparam x="1688" y="405" />
-<sizeparam width="139" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="1466" y="518" />
+<sizeparam width="189" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="278" minY="0" maxY="253" />
-<infoparam name="TGComponent" value="Zigbee_TX::F_Sink" />
+<cdrectangleparam minX="0" maxX="228" minY="0" maxY="253" />
+<infoparam name="TGComponent" value="Zigbee_TX::F_Chip2Octet" />
 <TGConnectingPoint num="0" id="6057" />
 <TGConnectingPoint num="1" id="6058" />
 <TGConnectingPoint num="2" id="6059" />
@@ -12756,16 +12756,16 @@ sequence diagram.
 <TGConnectingPoint num="6" id="6063" />
 <TGConnectingPoint num="7" id="6064" />
 <extraparam>
-<info value="Zigbee_TX::F_Sink" taskName="F_Sink" referenceTaskName="Zigbee_TX" priority="0" operation="F_Sink" fatherComponentMECType="0" />
+<info value="Zigbee_TX::F_Chip2Octet" taskName="F_Chip2Octet" referenceTaskName="Zigbee_TX" priority="0" operation="F_Chip2Octet" fatherComponentMECType="0" />
 </extraparam>
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1101" id="6074" >
 <father id="6117" num="5" />
-<cdparam x="1691" y="345" />
-<sizeparam width="140" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="1466" y="456" />
+<sizeparam width="223" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="277" minY="0" maxY="253" />
-<infoparam name="TGComponent" value="Zigbee_TX::F_CWL" />
+<cdrectangleparam minX="0" maxX="194" minY="0" maxY="253" />
+<infoparam name="TGComponent" value="Zigbee_TX::F_Symbol2ChipSeq" />
 <TGConnectingPoint num="0" id="6066" />
 <TGConnectingPoint num="1" id="6067" />
 <TGConnectingPoint num="2" id="6068" />
@@ -12775,16 +12775,16 @@ sequence diagram.
 <TGConnectingPoint num="6" id="6072" />
 <TGConnectingPoint num="7" id="6073" />
 <extraparam>
-<info value="Zigbee_TX::F_CWL" taskName="F_CWL" referenceTaskName="Zigbee_TX" priority="0" operation="F_CWL" fatherComponentMECType="0" />
+<info value="Zigbee_TX::F_Symbol2ChipSeq" taskName="F_Symbol2ChipSeq" referenceTaskName="Zigbee_TX" priority="0" operation="F_Symbol2ChipSeq" fatherComponentMECType="0" />
 </extraparam>
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1101" id="6083" >
 <father id="6117" num="6" />
-<cdparam x="1696" y="456" />
-<sizeparam width="156" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="1466" y="395" />
+<sizeparam width="164" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="261" minY="0" maxY="253" />
-<infoparam name="TGComponent" value="Zigbee_TX::F_CWP_Q" />
+<cdrectangleparam minX="0" maxX="253" minY="0" maxY="253" />
+<infoparam name="TGComponent" value="Zigbee_TX::X_Source" />
 <TGConnectingPoint num="0" id="6075" />
 <TGConnectingPoint num="1" id="6076" />
 <TGConnectingPoint num="2" id="6077" />
@@ -12794,16 +12794,16 @@ sequence diagram.
 <TGConnectingPoint num="6" id="6081" />
 <TGConnectingPoint num="7" id="6082" />
 <extraparam>
-<info value="Zigbee_TX::F_CWP_Q" taskName="F_CWP_Q" referenceTaskName="Zigbee_TX" priority="0" operation="F_CWP_Q" fatherComponentMECType="0" />
+<info value="Zigbee_TX::X_Source" taskName="X_Source" referenceTaskName="Zigbee_TX" priority="0" operation="X_Source" fatherComponentMECType="0" />
 </extraparam>
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1101" id="6092" >
 <father id="6117" num="7" />
-<cdparam x="1686" y="522" />
-<sizeparam width="150" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="1465" y="339" />
+<sizeparam width="164" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="267" minY="0" maxY="253" />
-<infoparam name="TGComponent" value="Zigbee_TX::F_CWP_I" />
+<cdrectangleparam minX="0" maxX="253" minY="0" maxY="253" />
+<infoparam name="TGComponent" value="Zigbee_TX::F_Source" />
 <TGConnectingPoint num="0" id="6084" />
 <TGConnectingPoint num="1" id="6085" />
 <TGConnectingPoint num="2" id="6086" />
@@ -12813,7 +12813,7 @@ sequence diagram.
 <TGConnectingPoint num="6" id="6090" />
 <TGConnectingPoint num="7" id="6091" />
 <extraparam>
-<info value="Zigbee_TX::F_CWP_I" taskName="F_CWP_I" referenceTaskName="Zigbee_TX" priority="0" operation="F_CWP_I" fatherComponentMECType="0" />
+<info value="Zigbee_TX::F_Source" taskName="F_Source" referenceTaskName="Zigbee_TX" priority="0" operation="F_Source" fatherComponentMECType="0" />
 </extraparam>
 </SUBCOMPONENT>
 
@@ -13035,9 +13035,9 @@ sequence diagram.
 <SUBCOMPONENT type="1101" id="6251" >
 <father id="6276" num="0" />
 <cdparam x="105" y="993" />
-<sizeparam width="182" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<sizeparam width="189" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="52" minY="0" maxY="100" />
+<cdrectangleparam minX="0" maxX="45" minY="0" maxY="100" />
 <infoparam name="TGComponent" value="Zigbee_TX::X_Chip2Octet" />
 <TGConnectingPoint num="0" id="6243" />
 <TGConnectingPoint num="1" id="6244" />
@@ -13233,11 +13233,11 @@ sequence diagram.
 </COMPONENT>
 <SUBCOMPONENT type="1101" id="6385" >
 <father id="6428" num="0" />
-<cdparam x="671" y="289" />
-<sizeparam width="152" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="639" y="239" />
+<sizeparam width="145" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="86" minY="0" maxY="145" />
-<infoparam name="TGComponent" value="Zigbee_TX::X_CWP_I" />
+<cdrectangleparam minX="0" maxX="93" minY="0" maxY="145" />
+<infoparam name="TGComponent" value="Zigbee_TX::X_CWL" />
 <TGConnectingPoint num="0" id="6377" />
 <TGConnectingPoint num="1" id="6378" />
 <TGConnectingPoint num="2" id="6379" />
@@ -13247,15 +13247,15 @@ sequence diagram.
 <TGConnectingPoint num="6" id="6383" />
 <TGConnectingPoint num="7" id="6384" />
 <extraparam>
-<info value="Zigbee_TX::X_CWP_I" taskName="X_CWP_I" referenceTaskName="Zigbee_TX" priority="0" operation="CWP" fatherComponentMECType="1" />
+<info value="Zigbee_TX::X_CWL" taskName="X_CWL" referenceTaskName="Zigbee_TX" priority="0" operation="CWL" fatherComponentMECType="1" />
 </extraparam>
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1101" id="6394" >
 <father id="6428" num="1" />
 <cdparam x="640" y="335" />
-<sizeparam width="158" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<sizeparam width="162" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="80" minY="0" maxY="145" />
+<cdrectangleparam minX="0" maxX="76" minY="0" maxY="145" />
 <infoparam name="TGComponent" value="Zigbee_TX::X_CWP_Q" />
 <TGConnectingPoint num="0" id="6386" />
 <TGConnectingPoint num="1" id="6387" />
@@ -13271,11 +13271,11 @@ sequence diagram.
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1101" id="6403" >
 <father id="6428" num="2" />
-<cdparam x="639" y="239" />
-<sizeparam width="142" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="671" y="289" />
+<sizeparam width="156" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="96" minY="0" maxY="145" />
-<infoparam name="TGComponent" value="Zigbee_TX::X_CWL" />
+<cdrectangleparam minX="0" maxX="82" minY="0" maxY="145" />
+<infoparam name="TGComponent" value="Zigbee_TX::X_CWP_I" />
 <TGConnectingPoint num="0" id="6395" />
 <TGConnectingPoint num="1" id="6396" />
 <TGConnectingPoint num="2" id="6397" />
@@ -13285,7 +13285,7 @@ sequence diagram.
 <TGConnectingPoint num="6" id="6401" />
 <TGConnectingPoint num="7" id="6402" />
 <extraparam>
-<info value="Zigbee_TX::X_CWL" taskName="X_CWL" referenceTaskName="Zigbee_TX" priority="0" operation="CWL" fatherComponentMECType="1" />
+<info value="Zigbee_TX::X_CWP_I" taskName="X_CWP_I" referenceTaskName="Zigbee_TX" priority="0" operation="CWP" fatherComponentMECType="1" />
 </extraparam>
 </SUBCOMPONENT>
 
@@ -13507,9 +13507,9 @@ sequence diagram.
 <SUBCOMPONENT type="1101" id="6562" >
 <father id="6587" num="0" />
 <cdparam x="749" y="1029" />
-<sizeparam width="214" height="45" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<sizeparam width="223" height="45" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="23" minY="0" maxY="114" />
+<cdrectangleparam minX="0" maxX="14" minY="0" maxY="114" />
 <infoparam name="TGComponent" value="Zigbee_TX::X_Symbol2ChipSeq" />
 <TGConnectingPoint num="0" id="6554" />
 <TGConnectingPoint num="1" id="6555" />
@@ -13593,9 +13593,9 @@ sequence diagram.
 <SUBCOMPONENT type="1110" id="6621" >
 <father id="6630" num="0" />
 <cdparam x="292" y="1303" />
-<sizeparam width="199" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<sizeparam width="212" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="220" minY="0" maxY="45" />
+<cdrectangleparam minX="0" maxX="207" minY="0" maxY="45" />
 <infoparam name="TGComponent" value="Zigbee_TX::chip2octet_ch_in" />
 <TGConnectingPoint num="0" id="6613" />
 <TGConnectingPoint num="1" id="6614" />
@@ -13640,9 +13640,9 @@ sequence diagram.
 <SUBCOMPONENT type="1110" id="6639" >
 <father id="6648" num="0" />
 <cdparam x="327" y="1437" />
-<sizeparam width="157" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<sizeparam width="164" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="248" minY="0" maxY="48" />
+<cdrectangleparam minX="0" maxX="241" minY="0" maxY="48" />
 <infoparam name="TGComponent" value="Zigbee_TX::cwl_ch_in" />
 <TGConnectingPoint num="0" id="6631" />
 <TGConnectingPoint num="1" id="6632" />
@@ -13695,9 +13695,9 @@ sequence diagram.
 <SUBCOMPONENT type="1110" id="6657" >
 <father id="6666" num="0" />
 <cdparam x="701" y="1315" />
-<sizeparam width="162" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<sizeparam width="170" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="133" minY="0" maxY="105" />
+<cdrectangleparam minX="0" maxX="125" minY="0" maxY="105" />
 <infoparam name="TGComponent" value="Zigbee_TX::sink_ch_in" />
 <TGConnectingPoint num="0" id="6649" />
 <TGConnectingPoint num="1" id="6650" />
@@ -13740,9 +13740,9 @@ sequence diagram.
 <SUBCOMPONENT type="1110" id="6675" >
 <father id="6684" num="0" />
 <cdparam x="280" y="1181" />
-<sizeparam width="235" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<sizeparam width="247" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="186" minY="0" maxY="45" />
+<cdrectangleparam minX="0" maxX="174" minY="0" maxY="45" />
 <infoparam name="TGComponent" value="Zigbee_TX::symbol2ChipSeq_ch_in" />
 <TGConnectingPoint num="0" id="6667" />
 <TGConnectingPoint num="1" id="6668" />
@@ -14375,11 +14375,11 @@ sequence diagram.
 </COMPONENT>
 <SUBCOMPONENT type="1101" id="6880" >
 <father id="6968" num="0" />
-<cdparam x="1686" y="522" />
-<sizeparam width="156" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="1465" y="339" />
+<sizeparam width="164" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="261" minY="0" maxY="253" />
-<infoparam name="TGComponent" value="Zigbee_TX::F_CWP_I" />
+<cdrectangleparam minX="0" maxX="253" minY="0" maxY="253" />
+<infoparam name="TGComponent" value="Zigbee_TX::F_Source" />
 <TGConnectingPoint num="0" id="6872" />
 <TGConnectingPoint num="1" id="6873" />
 <TGConnectingPoint num="2" id="6874" />
@@ -14389,16 +14389,16 @@ sequence diagram.
 <TGConnectingPoint num="6" id="6878" />
 <TGConnectingPoint num="7" id="6879" />
 <extraparam>
-<info value="Zigbee_TX::F_CWP_I" taskName="F_CWP_I" referenceTaskName="Zigbee_TX" priority="0" operation="F_CWP_I" fatherComponentMECType="0" />
+<info value="Zigbee_TX::F_Source" taskName="F_Source" referenceTaskName="Zigbee_TX" priority="0" operation="F_Source" fatherComponentMECType="0" />
 </extraparam>
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1101" id="6889" >
 <father id="6968" num="1" />
-<cdparam x="1685" y="459" />
-<sizeparam width="162" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="1466" y="395" />
+<sizeparam width="164" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="255" minY="0" maxY="253" />
-<infoparam name="TGComponent" value="Zigbee_TX::F_CWP_Q" />
+<cdrectangleparam minX="0" maxX="253" minY="0" maxY="253" />
+<infoparam name="TGComponent" value="Zigbee_TX::X_Source" />
 <TGConnectingPoint num="0" id="6881" />
 <TGConnectingPoint num="1" id="6882" />
 <TGConnectingPoint num="2" id="6883" />
@@ -14408,16 +14408,16 @@ sequence diagram.
 <TGConnectingPoint num="6" id="6887" />
 <TGConnectingPoint num="7" id="6888" />
 <extraparam>
-<info value="Zigbee_TX::F_CWP_Q" taskName="F_CWP_Q" referenceTaskName="Zigbee_TX" priority="0" operation="F_CWP_Q" fatherComponentMECType="0" />
+<info value="Zigbee_TX::X_Source" taskName="X_Source" referenceTaskName="Zigbee_TX" priority="0" operation="X_Source" fatherComponentMECType="0" />
 </extraparam>
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1101" id="6898" >
 <father id="6968" num="2" />
-<cdparam x="1691" y="345" />
-<sizeparam width="145" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="1466" y="456" />
+<sizeparam width="223" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="272" minY="0" maxY="253" />
-<infoparam name="TGComponent" value="Zigbee_TX::F_CWL" />
+<cdrectangleparam minX="0" maxX="194" minY="0" maxY="253" />
+<infoparam name="TGComponent" value="Zigbee_TX::F_Symbol2ChipSeq" />
 <TGConnectingPoint num="0" id="6890" />
 <TGConnectingPoint num="1" id="6891" />
 <TGConnectingPoint num="2" id="6892" />
@@ -14427,16 +14427,16 @@ sequence diagram.
 <TGConnectingPoint num="6" id="6896" />
 <TGConnectingPoint num="7" id="6897" />
 <extraparam>
-<info value="Zigbee_TX::F_CWL" taskName="F_CWL" referenceTaskName="Zigbee_TX" priority="0" operation="F_CWL" fatherComponentMECType="0" />
+<info value="Zigbee_TX::F_Symbol2ChipSeq" taskName="F_Symbol2ChipSeq" referenceTaskName="Zigbee_TX" priority="0" operation="F_Symbol2ChipSeq" fatherComponentMECType="0" />
 </extraparam>
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1101" id="6907" >
 <father id="6968" num="3" />
-<cdparam x="1688" y="405" />
-<sizeparam width="146" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="1466" y="518" />
+<sizeparam width="189" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="271" minY="0" maxY="253" />
-<infoparam name="TGComponent" value="Zigbee_TX::F_Sink" />
+<cdrectangleparam minX="0" maxX="228" minY="0" maxY="253" />
+<infoparam name="TGComponent" value="Zigbee_TX::F_Chip2Octet" />
 <TGConnectingPoint num="0" id="6899" />
 <TGConnectingPoint num="1" id="6900" />
 <TGConnectingPoint num="2" id="6901" />
@@ -14446,16 +14446,16 @@ sequence diagram.
 <TGConnectingPoint num="6" id="6905" />
 <TGConnectingPoint num="7" id="6906" />
 <extraparam>
-<info value="Zigbee_TX::F_Sink" taskName="F_Sink" referenceTaskName="Zigbee_TX" priority="0" operation="F_Sink" fatherComponentMECType="0" />
+<info value="Zigbee_TX::F_Chip2Octet" taskName="F_Chip2Octet" referenceTaskName="Zigbee_TX" priority="0" operation="F_Chip2Octet" fatherComponentMECType="0" />
 </extraparam>
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1101" id="6916" >
 <father id="6968" num="4" />
-<cdparam x="1466" y="518" />
-<sizeparam width="189" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="1688" y="405" />
+<sizeparam width="146" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="228" minY="0" maxY="253" />
-<infoparam name="TGComponent" value="Zigbee_TX::F_Chip2Octet" />
+<cdrectangleparam minX="0" maxX="271" minY="0" maxY="253" />
+<infoparam name="TGComponent" value="Zigbee_TX::F_Sink" />
 <TGConnectingPoint num="0" id="6908" />
 <TGConnectingPoint num="1" id="6909" />
 <TGConnectingPoint num="2" id="6910" />
@@ -14465,16 +14465,16 @@ sequence diagram.
 <TGConnectingPoint num="6" id="6914" />
 <TGConnectingPoint num="7" id="6915" />
 <extraparam>
-<info value="Zigbee_TX::F_Chip2Octet" taskName="F_Chip2Octet" referenceTaskName="Zigbee_TX" priority="0" operation="F_Chip2Octet" fatherComponentMECType="0" />
+<info value="Zigbee_TX::F_Sink" taskName="F_Sink" referenceTaskName="Zigbee_TX" priority="0" operation="F_Sink" fatherComponentMECType="0" />
 </extraparam>
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1101" id="6925" >
 <father id="6968" num="5" />
-<cdparam x="1466" y="456" />
-<sizeparam width="223" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="1691" y="345" />
+<sizeparam width="145" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="194" minY="0" maxY="253" />
-<infoparam name="TGComponent" value="Zigbee_TX::F_Symbol2ChipSeq" />
+<cdrectangleparam minX="0" maxX="272" minY="0" maxY="253" />
+<infoparam name="TGComponent" value="Zigbee_TX::F_CWL" />
 <TGConnectingPoint num="0" id="6917" />
 <TGConnectingPoint num="1" id="6918" />
 <TGConnectingPoint num="2" id="6919" />
@@ -14484,16 +14484,16 @@ sequence diagram.
 <TGConnectingPoint num="6" id="6923" />
 <TGConnectingPoint num="7" id="6924" />
 <extraparam>
-<info value="Zigbee_TX::F_Symbol2ChipSeq" taskName="F_Symbol2ChipSeq" referenceTaskName="Zigbee_TX" priority="0" operation="F_Symbol2ChipSeq" fatherComponentMECType="0" />
+<info value="Zigbee_TX::F_CWL" taskName="F_CWL" referenceTaskName="Zigbee_TX" priority="0" operation="F_CWL" fatherComponentMECType="0" />
 </extraparam>
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1101" id="6934" >
 <father id="6968" num="6" />
-<cdparam x="1466" y="395" />
-<sizeparam width="164" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="1685" y="459" />
+<sizeparam width="162" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="253" minY="0" maxY="253" />
-<infoparam name="TGComponent" value="Zigbee_TX::X_Source" />
+<cdrectangleparam minX="0" maxX="255" minY="0" maxY="253" />
+<infoparam name="TGComponent" value="Zigbee_TX::F_CWP_Q" />
 <TGConnectingPoint num="0" id="6926" />
 <TGConnectingPoint num="1" id="6927" />
 <TGConnectingPoint num="2" id="6928" />
@@ -14503,16 +14503,16 @@ sequence diagram.
 <TGConnectingPoint num="6" id="6932" />
 <TGConnectingPoint num="7" id="6933" />
 <extraparam>
-<info value="Zigbee_TX::X_Source" taskName="X_Source" referenceTaskName="Zigbee_TX" priority="0" operation="X_Source" fatherComponentMECType="0" />
+<info value="Zigbee_TX::F_CWP_Q" taskName="F_CWP_Q" referenceTaskName="Zigbee_TX" priority="0" operation="F_CWP_Q" fatherComponentMECType="0" />
 </extraparam>
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1101" id="6943" >
 <father id="6968" num="7" />
-<cdparam x="1465" y="339" />
-<sizeparam width="164" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="1686" y="522" />
+<sizeparam width="156" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="253" minY="0" maxY="253" />
-<infoparam name="TGComponent" value="Zigbee_TX::F_Source" />
+<cdrectangleparam minX="0" maxX="261" minY="0" maxY="253" />
+<infoparam name="TGComponent" value="Zigbee_TX::F_CWP_I" />
 <TGConnectingPoint num="0" id="6935" />
 <TGConnectingPoint num="1" id="6936" />
 <TGConnectingPoint num="2" id="6937" />
@@ -14522,7 +14522,7 @@ sequence diagram.
 <TGConnectingPoint num="6" id="6941" />
 <TGConnectingPoint num="7" id="6942" />
 <extraparam>
-<info value="Zigbee_TX::F_Source" taskName="F_Source" referenceTaskName="Zigbee_TX" priority="0" operation="F_Source" fatherComponentMECType="0" />
+<info value="Zigbee_TX::F_CWP_I" taskName="F_CWP_I" referenceTaskName="Zigbee_TX" priority="0" operation="F_CWP_I" fatherComponentMECType="0" />
 </extraparam>
 </SUBCOMPONENT>
 
@@ -14942,11 +14942,11 @@ sequence diagram.
 </COMPONENT>
 <SUBCOMPONENT type="1101" id="7236" >
 <father id="7279" num="0" />
-<cdparam x="639" y="239" />
-<sizeparam width="145" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="671" y="289" />
+<sizeparam width="156" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="93" minY="0" maxY="145" />
-<infoparam name="TGComponent" value="Zigbee_TX::X_CWL" />
+<cdrectangleparam minX="0" maxX="82" minY="0" maxY="145" />
+<infoparam name="TGComponent" value="Zigbee_TX::X_CWP_I" />
 <TGConnectingPoint num="0" id="7228" />
 <TGConnectingPoint num="1" id="7229" />
 <TGConnectingPoint num="2" id="7230" />
@@ -14956,7 +14956,7 @@ sequence diagram.
 <TGConnectingPoint num="6" id="7234" />
 <TGConnectingPoint num="7" id="7235" />
 <extraparam>
-<info value="Zigbee_TX::X_CWL" taskName="X_CWL" referenceTaskName="Zigbee_TX" priority="0" operation="CWL" fatherComponentMECType="1" />
+<info value="Zigbee_TX::X_CWP_I" taskName="X_CWP_I" referenceTaskName="Zigbee_TX" priority="0" operation="CWP" fatherComponentMECType="1" />
 </extraparam>
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1101" id="7245" >
@@ -14980,11 +14980,11 @@ sequence diagram.
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1101" id="7254" >
 <father id="7279" num="2" />
-<cdparam x="671" y="289" />
-<sizeparam width="156" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="639" y="239" />
+<sizeparam width="145" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="82" minY="0" maxY="145" />
-<infoparam name="TGComponent" value="Zigbee_TX::X_CWP_I" />
+<cdrectangleparam minX="0" maxX="93" minY="0" maxY="145" />
+<infoparam name="TGComponent" value="Zigbee_TX::X_CWL" />
 <TGConnectingPoint num="0" id="7246" />
 <TGConnectingPoint num="1" id="7247" />
 <TGConnectingPoint num="2" id="7248" />
@@ -14994,7 +14994,7 @@ sequence diagram.
 <TGConnectingPoint num="6" id="7252" />
 <TGConnectingPoint num="7" id="7253" />
 <extraparam>
-<info value="Zigbee_TX::X_CWP_I" taskName="X_CWP_I" referenceTaskName="Zigbee_TX" priority="0" operation="CWP" fatherComponentMECType="1" />
+<info value="Zigbee_TX::X_CWL" taskName="X_CWL" referenceTaskName="Zigbee_TX" priority="0" operation="CWL" fatherComponentMECType="1" />
 </extraparam>
 </SUBCOMPONENT>
 
diff --git a/modeling/SysMLSec/SysMLSecTutorial.xml b/modeling/SysMLSec/SysMLSecTutorial.xml
new file mode 100644
index 0000000000000000000000000000000000000000..aa1623c2a2f7121ad7d5cd5474c0bf98054f1ddb
--- /dev/null
+++ b/modeling/SysMLSec/SysMLSecTutorial.xml
@@ -0,0 +1,3057 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+
+<TURTLEGMODELING version="1.0beta">
+
+<Modeling type="Sysmlsec Methodology" nameTab="SysMLSec_Methodology" >
+<SysmlsecMethodologyDiagramPanel name="SysMLSec_Methodology" minX="10" maxX="2500" minY="10" maxY="1500" zoom="1.0" >
+<COMPONENT type="5705" id="5" >
+<cdparam x="650" y="500" />
+<sizeparam width="180" height="70" minWidth="10" minHeight="30" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="TGComponent" value="Properties" />
+<TGConnectingPoint num="0" id="1" />
+<TGConnectingPoint num="1" id="2" />
+<TGConnectingPoint num="2" id="3" />
+<TGConnectingPoint num="3" id="4" />
+</COMPONENT>
+
+<COMPONENT type="5706" id="10" >
+<cdparam x="1100" y="600" />
+<sizeparam width="200" height="70" minWidth="10" minHeight="30" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="TGComponent" value="Prototyping" />
+<TGConnectingPoint num="0" id="6" />
+<TGConnectingPoint num="1" id="7" />
+<TGConnectingPoint num="2" id="8" />
+<TGConnectingPoint num="3" id="9" />
+</COMPONENT>
+
+<COMPONENT type="5704" id="17" >
+<cdparam x="1000" y="497" />
+<sizeparam width="290" height="73" minWidth="10" minHeight="30" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="TGComponent" value="Design" />
+<TGConnectingPoint num="0" id="12" />
+<TGConnectingPoint num="1" id="13" />
+<TGConnectingPoint num="2" id="14" />
+<TGConnectingPoint num="3" id="15" />
+<TGConnectingPoint num="4" id="16" />
+</COMPONENT>
+<SUBCOMPONENT type="5707" id="11" >
+<father id="17" num="0" />
+<cdparam x="1005" y="537" />
+<sizeparam width="10" height="10" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="1005" maxX="1005" minY="540" maxY="540" />
+<infoparam name="value " value="SecurityProtocolDesign" />
+</SUBCOMPONENT>
+
+<COMPONENT type="5703" id="23" >
+<cdparam x="900" y="400" />
+<sizeparam width="200" height="70" minWidth="10" minHeight="30" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="TGComponent" value="Analysis" />
+<TGConnectingPoint num="0" id="18" />
+<TGConnectingPoint num="1" id="19" />
+<TGConnectingPoint num="2" id="20" />
+<TGConnectingPoint num="3" id="21" />
+<TGConnectingPoint num="4" id="22" />
+</COMPONENT>
+
+<COMPONENT type="5711" id="28" >
+<cdparam x="887" y="100" />
+<sizeparam width="227" height="70" minWidth="10" minHeight="30" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="TGComponent" value="Communication pattern" />
+<TGConnectingPoint num="0" id="24" />
+<TGConnectingPoint num="1" id="25" />
+<TGConnectingPoint num="2" id="26" />
+<TGConnectingPoint num="3" id="27" />
+</COMPONENT>
+
+<COMPONENT type="5710" id="38" >
+<cdparam x="813" y="227" />
+<sizeparam width="418" height="68" minWidth="10" minHeight="30" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="TGComponent" value="Mapping" />
+<TGConnectingPoint num="0" id="32" />
+<TGConnectingPoint num="1" id="33" />
+<TGConnectingPoint num="2" id="34" />
+<TGConnectingPoint num="3" id="35" />
+<TGConnectingPoint num="4" id="36" />
+<TGConnectingPoint num="5" id="37" />
+</COMPONENT>
+<SUBCOMPONENT type="5707" id="29" >
+<father id="38" num="0" />
+<cdparam x="818" y="297" />
+<sizeparam width="10" height="10" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="905" maxX="905" minY="295" maxY="295" />
+<infoparam name="value " value="NonSecureArchitectureWithSecureFV" />
+</SUBCOMPONENT>
+<SUBCOMPONENT type="5707" id="30" >
+<father id="38" num="1" />
+<cdparam x="818" y="282" />
+<sizeparam width="10" height="10" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="905" maxX="905" minY="280" maxY="280" />
+<infoparam name="value " value="SecureArchitectureWithNonSecureFV" />
+</SUBCOMPONENT>
+<SUBCOMPONENT type="5707" id="31" >
+<father id="38" num="2" />
+<cdparam x="818" y="267" />
+<sizeparam width="10" height="10" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="905" maxX="905" minY="265" maxY="265" />
+<infoparam name="value " value="NonSecureArchitectureWithNonSecureFV" />
+</SUBCOMPONENT>
+
+<COMPONENT type="5709" id="46" >
+<cdparam x="1150" y="101" />
+<sizeparam width="299" height="69" minWidth="10" minHeight="30" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="TGComponent" value="Architecture view" />
+<TGConnectingPoint num="0" id="42" />
+<TGConnectingPoint num="1" id="43" />
+<TGConnectingPoint num="2" id="44" />
+<TGConnectingPoint num="3" id="45" />
+</COMPONENT>
+<SUBCOMPONENT type="5707" id="39" >
+<father id="46" num="0" />
+<cdparam x="1155" y="171" />
+<sizeparam width="10" height="10" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="1155" maxX="1155" minY="170" maxY="170" />
+<infoparam name="value " value="NonSecureArchitectureWithSecureFV" />
+</SUBCOMPONENT>
+<SUBCOMPONENT type="5707" id="40" >
+<father id="46" num="1" />
+<cdparam x="1155" y="156" />
+<sizeparam width="10" height="10" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="1155" maxX="1155" minY="155" maxY="155" />
+<infoparam name="value " value="SecureArchitectureWithNonSecureFV" />
+</SUBCOMPONENT>
+<SUBCOMPONENT type="5707" id="41" >
+<father id="46" num="2" />
+<cdparam x="1155" y="141" />
+<sizeparam width="10" height="10" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="1155" maxX="1155" minY="140" maxY="140" />
+<infoparam name="value " value="NonSecureArchitectureWithNonSecureFV" />
+</SUBCOMPONENT>
+
+<COMPONENT type="5713" id="53" >
+<cdparam x="650" y="100" />
+<sizeparam width="224" height="70" minWidth="10" minHeight="30" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="TGComponent" value="Functional view" />
+<TGConnectingPoint num="0" id="49" />
+<TGConnectingPoint num="1" id="50" />
+<TGConnectingPoint num="2" id="51" />
+<TGConnectingPoint num="3" id="52" />
+</COMPONENT>
+<SUBCOMPONENT type="5707" id="47" >
+<father id="53" num="0" />
+<cdparam x="655" y="155" />
+<sizeparam width="10" height="10" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="655" maxX="655" minY="155" maxY="155" />
+<infoparam name="value " value="SecureFV" />
+</SUBCOMPONENT>
+<SUBCOMPONENT type="5707" id="48" >
+<father id="53" num="1" />
+<cdparam x="655" y="140" />
+<sizeparam width="10" height="10" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="655" maxX="655" minY="140" maxY="140" />
+<infoparam name="value " value="NonSecureFV" />
+</SUBCOMPONENT>
+
+<COMPONENT type="5712" id="60" >
+<cdparam x="350" y="400" />
+<sizeparam width="200" height="70" minWidth="10" minHeight="30" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="TGComponent" value="Attacks" />
+<TGConnectingPoint num="0" id="55" />
+<TGConnectingPoint num="1" id="56" />
+<TGConnectingPoint num="2" id="57" />
+<TGConnectingPoint num="3" id="58" />
+<TGConnectingPoint num="4" id="59" />
+</COMPONENT>
+<SUBCOMPONENT type="5707" id="54" >
+<father id="60" num="0" />
+<cdparam x="355" y="440" />
+<sizeparam width="10" height="10" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="355" maxX="355" minY="440" maxY="440" />
+<infoparam name="value " value="RetrieveData" />
+</SUBCOMPONENT>
+
+<COMPONENT type="5702" id="68" >
+<cdparam x="350" y="200" />
+<sizeparam width="200" height="70" minWidth="10" minHeight="30" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="TGComponent" value="Requirements" />
+<TGConnectingPoint num="0" id="62" />
+<TGConnectingPoint num="1" id="63" />
+<TGConnectingPoint num="2" id="64" />
+<TGConnectingPoint num="3" id="65" />
+<TGConnectingPoint num="4" id="66" />
+<TGConnectingPoint num="5" id="67" />
+</COMPONENT>
+<SUBCOMPONENT type="5707" id="61" >
+<father id="68" num="0" />
+<cdparam x="355" y="240" />
+<sizeparam width="10" height="10" minWidth="10" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="355" maxX="355" minY="240" maxY="240" />
+<infoparam name="value " value="SecurityRequirements" />
+</SUBCOMPONENT>
+
+<COMPONENT type="5701" id="73" >
+<cdparam x="50" y="300" />
+<sizeparam width="200" height="70" minWidth="10" minHeight="30" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="TGComponent" value="Assumptions" />
+<TGConnectingPoint num="0" id="69" />
+<TGConnectingPoint num="1" id="70" />
+<TGConnectingPoint num="2" id="71" />
+<TGConnectingPoint num="3" id="72" />
+</COMPONENT>
+
+<COMPONENT type="304" id="90" >
+<cdparam x="630" y="63" />
+<sizeparam width="836" height="252" minWidth="20" minHeight="20" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="Info" value="SW/HW Partitioning" />
+<TGConnectingPoint num="0" id="74" />
+<TGConnectingPoint num="1" id="75" />
+<TGConnectingPoint num="2" id="76" />
+<TGConnectingPoint num="3" id="77" />
+<TGConnectingPoint num="4" id="78" />
+<TGConnectingPoint num="5" id="79" />
+<TGConnectingPoint num="6" id="80" />
+<TGConnectingPoint num="7" id="81" />
+<TGConnectingPoint num="8" id="82" />
+<TGConnectingPoint num="9" id="83" />
+<TGConnectingPoint num="10" id="84" />
+<TGConnectingPoint num="11" id="85" />
+<TGConnectingPoint num="12" id="86" />
+<TGConnectingPoint num="13" id="87" />
+<TGConnectingPoint num="14" id="88" />
+<TGConnectingPoint num="15" id="89" />
+<extraparam>
+<TextColor value="-1" />
+<FillColor value="-1" />
+</extraparam>
+</COMPONENT>
+
+<COMPONENT type="304" id="107" >
+<cdparam x="630" y="375" />
+<sizeparam width="750" height="325" minWidth="20" minHeight="20" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="Info" value="SW Design" />
+<TGConnectingPoint num="0" id="91" />
+<TGConnectingPoint num="1" id="92" />
+<TGConnectingPoint num="2" id="93" />
+<TGConnectingPoint num="3" id="94" />
+<TGConnectingPoint num="4" id="95" />
+<TGConnectingPoint num="5" id="96" />
+<TGConnectingPoint num="6" id="97" />
+<TGConnectingPoint num="7" id="98" />
+<TGConnectingPoint num="8" id="99" />
+<TGConnectingPoint num="9" id="100" />
+<TGConnectingPoint num="10" id="101" />
+<TGConnectingPoint num="11" id="102" />
+<TGConnectingPoint num="12" id="103" />
+<TGConnectingPoint num="13" id="104" />
+<TGConnectingPoint num="14" id="105" />
+<TGConnectingPoint num="15" id="106" />
+<extraparam>
+<TextColor value="-1" />
+<FillColor value="-1" />
+</extraparam>
+</COMPONENT>
+
+<COMPONENT type="304" id="124" >
+<cdparam x="330" y="169" />
+<sizeparam width="241" height="340" minWidth="20" minHeight="20" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="Info" value="Req and attacks" />
+<TGConnectingPoint num="0" id="108" />
+<TGConnectingPoint num="1" id="109" />
+<TGConnectingPoint num="2" id="110" />
+<TGConnectingPoint num="3" id="111" />
+<TGConnectingPoint num="4" id="112" />
+<TGConnectingPoint num="5" id="113" />
+<TGConnectingPoint num="6" id="114" />
+<TGConnectingPoint num="7" id="115" />
+<TGConnectingPoint num="8" id="116" />
+<TGConnectingPoint num="9" id="117" />
+<TGConnectingPoint num="10" id="118" />
+<TGConnectingPoint num="11" id="119" />
+<TGConnectingPoint num="12" id="120" />
+<TGConnectingPoint num="13" id="121" />
+<TGConnectingPoint num="14" id="122" />
+<TGConnectingPoint num="15" id="123" />
+<extraparam>
+<TextColor value="-1" />
+<FillColor value="-1" />
+</extraparam>
+</COMPONENT>
+
+<CONNECTOR type="6004" id="126" >
+<cdparam x="1250" y="170" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="&lt;&lt;deriveReqt&gt;&gt;" />
+<TGConnectingPoint num="0" id="125" />
+<P1  x="1299" y="170" id="42" />
+<P2  x="1105" y="227" id="33" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<CONNECTOR type="6004" id="128" >
+<cdparam x="1000" y="170" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="&lt;&lt;deriveReqt&gt;&gt;" />
+<TGConnectingPoint num="0" id="127" />
+<P1  x="1000" y="170" id="24" />
+<P2  x="1022" y="227" id="34" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<CONNECTOR type="6004" id="130" >
+<cdparam x="750" y="170" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="&lt;&lt;deriveReqt&gt;&gt;" />
+<TGConnectingPoint num="0" id="129" />
+<P1  x="762" y="170" id="49" />
+<P2  x="938" y="227" id="32" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<CONNECTOR type="5718" id="136" >
+<cdparam x="550" y="235" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="&lt;&lt;deriveReqt&gt;&gt;" />
+<TGConnectingPoint num="0" id="133" />
+<TGConnectingPoint num="1" id="134" />
+<TGConnectingPoint num="2" id="135" />
+<P1  x="550" y="235" id="62" />
+<P2  x="740" y="500" id="1" />
+<Point x="595" y="235" />
+<Point x="595" y="450" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR><SUBCOMPONENT type="-1" id="131" >
+<father id="136" num="0" />
+<cdparam x="595" y="235" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="point " value="null" />
+</SUBCOMPONENT>
+<SUBCOMPONENT type="-1" id="132" >
+<father id="136" num="1" />
+<cdparam x="595" y="450" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="point " value="null" />
+</SUBCOMPONENT>
+
+<CONNECTOR type="5718" id="140" >
+<cdparam x="1040" y="570" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="&lt;&lt;deriveReqt&gt;&gt;" />
+<TGConnectingPoint num="0" id="138" />
+<TGConnectingPoint num="1" id="139" />
+<P1  x="1058" y="570" id="13" />
+<P2  x="1100" y="635" id="6" />
+<Point x="1060" y="625" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR><SUBCOMPONENT type="-1" id="137" >
+<father id="140" num="0" />
+<cdparam x="1060" y="625" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="point " value="null" />
+</SUBCOMPONENT>
+
+<CONNECTOR type="5718" id="144" >
+<cdparam x="960" y="470" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="&lt;&lt;deriveReqt&gt;&gt;" />
+<TGConnectingPoint num="0" id="142" />
+<TGConnectingPoint num="1" id="143" />
+<P1  x="960" y="470" id="19" />
+<P2  x="1000" y="533" id="12" />
+<Point x="960" y="525" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR><SUBCOMPONENT type="-1" id="141" >
+<father id="144" num="0" />
+<cdparam x="960" y="525" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="point " value="null" />
+</SUBCOMPONENT>
+
+<CONNECTOR type="5718" id="146" >
+<cdparam x="470" y="400" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="&lt;&lt;deriveReqt&gt;&gt;" />
+<TGConnectingPoint num="0" id="145" />
+<P1  x="470" y="400" id="56" />
+<P2  x="470" y="270" id="64" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<CONNECTOR type="5718" id="148" >
+<cdparam x="410" y="270" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="&lt;&lt;deriveReqt&gt;&gt;" />
+<TGConnectingPoint num="0" id="147" />
+<P1  x="410" y="270" id="63" />
+<P2  x="410" y="400" id="55" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+
+</SysmlsecMethodologyDiagramPanel>
+
+</Modeling>
+
+
+
+
+<Modeling type="Avatar Requirement" nameTab="SecurityRequirements" >
+<AvatarRDPanel name="AVATAR RD" minX="10" maxX="2500" minY="10" maxY="1500" zoom="1.0" >
+<COMPONENT type="5200" id="192" >
+<cdparam x="186" y="322" />
+<sizeparam width="368" height="106" minWidth="1" minHeight="30" maxWidth="2000" maxHeight="2000" minDesiredWidth="219" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="Requirement" value="ConfidentialityBetweenT1andT2" />
+<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" />
+<TGConnectingPoint num="18" id="167" />
+<TGConnectingPoint num="19" id="168" />
+<TGConnectingPoint num="20" id="169" />
+<TGConnectingPoint num="21" id="170" />
+<TGConnectingPoint num="22" id="171" />
+<TGConnectingPoint num="23" id="172" />
+<TGConnectingPoint num="24" id="173" />
+<TGConnectingPoint num="25" id="174" />
+<TGConnectingPoint num="26" id="175" />
+<TGConnectingPoint num="27" id="176" />
+<TGConnectingPoint num="28" id="177" />
+<TGConnectingPoint num="29" id="178" />
+<TGConnectingPoint num="30" id="179" />
+<TGConnectingPoint num="31" id="180" />
+<TGConnectingPoint num="32" id="181" />
+<TGConnectingPoint num="33" id="182" />
+<TGConnectingPoint num="34" id="183" />
+<TGConnectingPoint num="35" id="184" />
+<TGConnectingPoint num="36" id="185" />
+<TGConnectingPoint num="37" id="186" />
+<TGConnectingPoint num="38" id="187" />
+<TGConnectingPoint num="39" id="188" />
+<TGConnectingPoint num="40" id="189" />
+<TGConnectingPoint num="41" id="190" />
+<TGConnectingPoint num="42" id="191" />
+<extraparam>
+<textline data="Requirement description:" />
+<textline data="Double-click to edit" />
+<kind data="Confidentiality" />
+<criticality data="Medium" />
+<reqType data="0" />
+<id data="1" />
+<satisfied data="false" />
+<verified data="false" />
+<attackTreeNode data="" />
+<violatedAction data="" />
+<referenceElements data="Attack: RetrieveconfidentialData" />
+</extraparam>
+</COMPONENT>
+
+<COMPONENT type="5200" id="236" >
+<cdparam x="183" y="121" />
+<sizeparam width="374" height="132" minWidth="1" minHeight="30" maxWidth="2000" maxHeight="2000" minDesiredWidth="155" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="Requirement" value="CommunicationSecurity" />
+<TGConnectingPoint num="0" id="193" />
+<TGConnectingPoint num="1" id="194" />
+<TGConnectingPoint num="2" id="195" />
+<TGConnectingPoint num="3" id="196" />
+<TGConnectingPoint num="4" id="197" />
+<TGConnectingPoint num="5" id="198" />
+<TGConnectingPoint num="6" id="199" />
+<TGConnectingPoint num="7" id="200" />
+<TGConnectingPoint num="8" id="201" />
+<TGConnectingPoint num="9" id="202" />
+<TGConnectingPoint num="10" id="203" />
+<TGConnectingPoint num="11" id="204" />
+<TGConnectingPoint num="12" id="205" />
+<TGConnectingPoint num="13" id="206" />
+<TGConnectingPoint num="14" id="207" />
+<TGConnectingPoint num="15" id="208" />
+<TGConnectingPoint num="16" id="209" />
+<TGConnectingPoint num="17" id="210" />
+<TGConnectingPoint num="18" id="211" />
+<TGConnectingPoint num="19" id="212" />
+<TGConnectingPoint num="20" id="213" />
+<TGConnectingPoint num="21" id="214" />
+<TGConnectingPoint num="22" id="215" />
+<TGConnectingPoint num="23" id="216" />
+<TGConnectingPoint num="24" id="217" />
+<TGConnectingPoint num="25" id="218" />
+<TGConnectingPoint num="26" id="219" />
+<TGConnectingPoint num="27" id="220" />
+<TGConnectingPoint num="28" id="221" />
+<TGConnectingPoint num="29" id="222" />
+<TGConnectingPoint num="30" id="223" />
+<TGConnectingPoint num="31" id="224" />
+<TGConnectingPoint num="32" id="225" />
+<TGConnectingPoint num="33" id="226" />
+<TGConnectingPoint num="34" id="227" />
+<TGConnectingPoint num="35" id="228" />
+<TGConnectingPoint num="36" id="229" />
+<TGConnectingPoint num="37" id="230" />
+<TGConnectingPoint num="38" id="231" />
+<TGConnectingPoint num="39" id="232" />
+<TGConnectingPoint num="40" id="233" />
+<TGConnectingPoint num="41" id="234" />
+<TGConnectingPoint num="42" id="235" />
+<extraparam>
+<textline data="The data exchanged between functional tasks" />
+<textline data=" must be confidential" />
+<kind data="Confidentiality" />
+<criticality data="Medium" />
+<reqType data="0" />
+<id data="0" />
+<satisfied data="false" />
+<verified data="false" />
+<attackTreeNode data="" />
+<violatedAction data="" />
+<referenceElements data="" />
+</extraparam>
+</COMPONENT>
+
+<CONNECTOR type="5206" id="238" >
+<cdparam x="366" y="349" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="&lt;&lt;refine&gt;&gt;" />
+<TGConnectingPoint num="0" id="237" />
+<P1  x="370" y="322" id="156" />
+<P2  x="370" y="253" id="203" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+
+</AvatarRDPanel>
+
+</Modeling>
+
+
+
+
+<Modeling type="AttackTree" nameTab="RetrieveData" >
+<AttackTreeDiagramPanel name="Attack Tree" minX="10" maxX="2500" minY="10" maxY="1500" zoom="1.0" >
+<CONNECTOR type="137" id="240" >
+<cdparam x="175" y="420" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="" />
+<TGConnectingPoint num="0" id="239" />
+<P1  x="213" y="391" id="249" />
+<P2  x="213" y="341" id="353" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<CONNECTOR type="137" id="242" >
+<cdparam x="594" y="318" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="" />
+<TGConnectingPoint num="0" id="241" />
+<P1  x="603" y="318" id="289" />
+<P2  x="703" y="318" id="263" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<CONNECTOR type="133" id="244" >
+<cdparam x="480" y="302" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="2" />
+<TGConnectingPoint num="0" id="243" />
+<P1  x="511" y="298" id="279" />
+<P2  x="420" y="227" id="311" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<CONNECTOR type="133" id="246" >
+<cdparam x="383" y="177" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="" />
+<TGConnectingPoint num="0" id="245" />
+<P1  x="383" y="177" id="300" />
+<P2  x="383" y="133" id="316" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<CONNECTOR type="133" id="248" >
+<cdparam x="233" y="301" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="1" />
+<TGConnectingPoint num="0" id="247" />
+<P1  x="241" y="301" id="343" />
+<P2  x="345" y="227" id="310" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<COMPONENT type="1403" id="261" >
+<cdparam x="131" y="391" />
+<sizeparam width="164" height="40" minWidth="100" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="TGComponent" value="PrivateBus" />
+<TGConnectingPoint num="0" id="249" />
+<TGConnectingPoint num="1" id="250" />
+<TGConnectingPoint num="2" id="251" />
+<TGConnectingPoint num="3" id="252" />
+<TGConnectingPoint num="4" id="253" />
+<TGConnectingPoint num="5" id="254" />
+<TGConnectingPoint num="6" id="255" />
+<TGConnectingPoint num="7" id="256" />
+<TGConnectingPoint num="8" id="257" />
+<TGConnectingPoint num="9" id="258" />
+<TGConnectingPoint num="10" id="259" />
+<TGConnectingPoint num="11" id="260" />
+<extraparam>
+<textline data="The bus is made unaccessible to the attaker" />
+<textline data="- bus on chip" />
+<textline data="- bus is loked in a room" />
+<textline data="" />
+<textline data="Model is in SecureArchitectureWithnonSecureFV" />
+</extraparam>
+</COMPONENT>
+
+<COMPONENT type="1403" id="274" >
+<cdparam x="715" y="298" />
+<sizeparam width="164" height="40" minWidth="100" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="TGComponent" value="Ciphering" />
+<TGConnectingPoint num="0" id="262" />
+<TGConnectingPoint num="1" id="263" />
+<TGConnectingPoint num="2" id="264" />
+<TGConnectingPoint num="3" id="265" />
+<TGConnectingPoint num="4" id="266" />
+<TGConnectingPoint num="5" id="267" />
+<TGConnectingPoint num="6" id="268" />
+<TGConnectingPoint num="7" id="269" />
+<TGConnectingPoint num="8" id="270" />
+<TGConnectingPoint num="9" id="271" />
+<TGConnectingPoint num="10" id="272" />
+<TGConnectingPoint num="11" id="273" />
+<extraparam>
+<textline data="See SecureFV" />
+</extraparam>
+</COMPONENT>
+
+<COMPONENT type="1401" id="299" >
+<cdparam x="481" y="298" />
+<sizeparam width="122" height="40" minWidth="100" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<enabled value="true" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="TGComponent" value="ReadDataOnBus" />
+<TGConnectingPoint num="0" id="275" />
+<TGConnectingPoint num="1" id="276" />
+<TGConnectingPoint num="2" id="277" />
+<TGConnectingPoint num="3" id="278" />
+<TGConnectingPoint num="4" id="279" />
+<TGConnectingPoint num="5" id="280" />
+<TGConnectingPoint num="6" id="281" />
+<TGConnectingPoint num="7" id="282" />
+<TGConnectingPoint num="8" id="283" />
+<TGConnectingPoint num="9" id="284" />
+<TGConnectingPoint num="10" id="285" />
+<TGConnectingPoint num="11" id="286" />
+<TGConnectingPoint num="12" id="287" />
+<TGConnectingPoint num="13" id="288" />
+<TGConnectingPoint num="14" id="289" />
+<TGConnectingPoint num="15" id="290" />
+<TGConnectingPoint num="16" id="291" />
+<TGConnectingPoint num="17" id="292" />
+<TGConnectingPoint num="18" id="293" />
+<TGConnectingPoint num="19" id="294" />
+<TGConnectingPoint num="20" id="295" />
+<TGConnectingPoint num="21" id="296" />
+<TGConnectingPoint num="22" id="297" />
+<TGConnectingPoint num="23" id="298" />
+<extraparam>
+<info description="Implemented in SecureFV" root="false" />
+</extraparam>
+</COMPONENT>
+
+<COMPONENT type="1402" id="312" >
+<cdparam x="308" y="177" />
+<sizeparam width="150" height="50" minWidth="100" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="TGComponent" value="&lt;&lt;SEQUENCE&gt;&gt;" />
+<TGConnectingPoint num="0" id="300" />
+<TGConnectingPoint num="1" id="301" />
+<TGConnectingPoint num="2" id="302" />
+<TGConnectingPoint num="3" id="303" />
+<TGConnectingPoint num="4" id="304" />
+<TGConnectingPoint num="5" id="305" />
+<TGConnectingPoint num="6" id="306" />
+<TGConnectingPoint num="7" id="307" />
+<TGConnectingPoint num="8" id="308" />
+<TGConnectingPoint num="9" id="309" />
+<TGConnectingPoint num="10" id="310" />
+<TGConnectingPoint num="11" id="311" />
+<extraparam>
+<info equation="" />
+</extraparam>
+</COMPONENT>
+
+<COMPONENT type="1401" id="337" >
+<cdparam x="296" y="93" />
+<sizeparam width="175" height="40" minWidth="100" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<enabled value="true" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="TGComponent" value="RetrieveConfidentialData" />
+<TGConnectingPoint num="0" id="313" />
+<TGConnectingPoint num="1" id="314" />
+<TGConnectingPoint num="2" id="315" />
+<TGConnectingPoint num="3" id="316" />
+<TGConnectingPoint num="4" id="317" />
+<TGConnectingPoint num="5" id="318" />
+<TGConnectingPoint num="6" id="319" />
+<TGConnectingPoint num="7" id="320" />
+<TGConnectingPoint num="8" id="321" />
+<TGConnectingPoint num="9" id="322" />
+<TGConnectingPoint num="10" id="323" />
+<TGConnectingPoint num="11" id="324" />
+<TGConnectingPoint num="12" id="325" />
+<TGConnectingPoint num="13" id="326" />
+<TGConnectingPoint num="14" id="327" />
+<TGConnectingPoint num="15" id="328" />
+<TGConnectingPoint num="16" id="329" />
+<TGConnectingPoint num="17" id="330" />
+<TGConnectingPoint num="18" id="331" />
+<TGConnectingPoint num="19" id="332" />
+<TGConnectingPoint num="20" id="333" />
+<TGConnectingPoint num="21" id="334" />
+<TGConnectingPoint num="22" id="335" />
+<TGConnectingPoint num="23" id="336" />
+<accessibility />
+<extraparam>
+<info description="" root="true" />
+</extraparam>
+</COMPONENT>
+
+<COMPONENT type="1401" id="362" >
+<cdparam x="157" y="301" />
+<sizeparam width="112" height="40" minWidth="100" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<enabled value="true" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="TGComponent" value="ConnectOnBus" />
+<TGConnectingPoint num="0" id="338" />
+<TGConnectingPoint num="1" id="339" />
+<TGConnectingPoint num="2" id="340" />
+<TGConnectingPoint num="3" id="341" />
+<TGConnectingPoint num="4" id="342" />
+<TGConnectingPoint num="5" id="343" />
+<TGConnectingPoint num="6" id="344" />
+<TGConnectingPoint num="7" id="345" />
+<TGConnectingPoint num="8" id="346" />
+<TGConnectingPoint num="9" id="347" />
+<TGConnectingPoint num="10" id="348" />
+<TGConnectingPoint num="11" id="349" />
+<TGConnectingPoint num="12" id="350" />
+<TGConnectingPoint num="13" id="351" />
+<TGConnectingPoint num="14" id="352" />
+<TGConnectingPoint num="15" id="353" />
+<TGConnectingPoint num="16" id="354" />
+<TGConnectingPoint num="17" id="355" />
+<TGConnectingPoint num="18" id="356" />
+<TGConnectingPoint num="19" id="357" />
+<TGConnectingPoint num="20" id="358" />
+<TGConnectingPoint num="21" id="359" />
+<TGConnectingPoint num="22" id="360" />
+<TGConnectingPoint num="23" id="361" />
+<extraparam>
+<info description="implemented in SecureArchitectureWithNonSecureFV" root="false" />
+</extraparam>
+</COMPONENT>
+
+
+</AttackTreeDiagramPanel>
+
+</Modeling>
+
+
+
+
+<Modeling type="TML Component Design" nameTab="NonSecureFV" >
+<TMLComponentTaskDiagramPanel name="TML Component Task Diagram" minX="10" maxX="2500" minY="10" maxY="1500" channels="true" events="true" requests="true" zoom="1.0" >
+<CONNECTOR type="126" id="363" >
+<cdparam x="419" y="198" />
+<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="419" y="198" id="375" />
+<P2  x="552" y="198" id="364" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<COMPONENT type="1202" id="374" >
+<cdparam x="565" y="132" />
+<sizeparam width="200" height="150" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="Primitive component" value="T2" />
+<TGConnectingPoint num="0" id="366" />
+<TGConnectingPoint num="1" id="367" />
+<TGConnectingPoint num="2" id="368" />
+<TGConnectingPoint num="3" id="369" />
+<TGConnectingPoint num="4" id="370" />
+<TGConnectingPoint num="5" id="371" />
+<TGConnectingPoint num="6" id="372" />
+<TGConnectingPoint num="7" id="373" />
+<extraparam>
+<Data isAttacker="No" />
+</extraparam>
+</COMPONENT>
+<SUBCOMPONENT type="1203" id="365" >
+<father id="374" num="0" />
+<reference id="236" />
+<cdparam x="552" y="185" />
+<sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="-13" maxX="187" minY="-13" maxY="137" />
+<infoparam name="Primitive port" value="Channel comm" />
+<TGConnectingPoint num="0" id="364" />
+<extraparam>
+<Prop commName="comm" commType="0" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="40" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+</extraparam>
+</SUBCOMPONENT>
+
+<COMPONENT type="1202" id="385" >
+<cdparam x="206" y="130" />
+<sizeparam width="200" height="150" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="Primitive component" value="T1" />
+<TGConnectingPoint num="0" id="377" />
+<TGConnectingPoint num="1" id="378" />
+<TGConnectingPoint num="2" id="379" />
+<TGConnectingPoint num="3" id="380" />
+<TGConnectingPoint num="4" id="381" />
+<TGConnectingPoint num="5" id="382" />
+<TGConnectingPoint num="6" id="383" />
+<TGConnectingPoint num="7" id="384" />
+<extraparam>
+<Data isAttacker="No" />
+</extraparam>
+</COMPONENT>
+<SUBCOMPONENT type="1203" id="376" >
+<father id="385" num="0" />
+<reference id="236" />
+<cdparam x="393" y="185" />
+<sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="-13" maxX="187" minY="-13" maxY="137" />
+<infoparam name="Primitive port" value="Channel comm" />
+<TGConnectingPoint num="0" id="375" />
+<extraparam>
+<Prop commName="comm" commType="0" origin="true" finite="false" blocking="true" maxSamples="8" widthSamples="40" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="int16_t" associatedEvent="" checkConf="true" checkConfStatus="1" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+</extraparam>
+</SUBCOMPONENT>
+
+
+</TMLComponentTaskDiagramPanel>
+
+<TMLActivityDiagramPanel name="T2" minX="10" maxX="2500" minY="10" maxY="1500" >
+<COMPONENT type="1001" id="387" >
+<cdparam x="406" y="194" />
+<sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="stop state" value="null" />
+<TGConnectingPoint num="0" id="386" />
+</COMPONENT>
+
+<COMPONENT type="1009" id="390" >
+<cdparam x="382" y="118" />
+<sizeparam width="69" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="read channel" value="comm(1) " />
+<TGConnectingPoint num="0" id="388" />
+<TGConnectingPoint num="1" id="389" />
+<extraparam>
+<Data channelName="comm" nbOfSamples="1" secPattern="" isAttacker="No" />
+</extraparam>
+</COMPONENT>
+
+<COMPONENT type="1000" id="392" >
+<cdparam x="409" y="54" />
+<sizeparam width="15" height="15" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="start state" value="null" />
+<TGConnectingPoint num="0" id="391" />
+</COMPONENT>
+
+<CONNECTOR type="115" id="393" >
+<cdparam x="407" y="70" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="null" />
+<P1  x="416" y="74" id="391" />
+<P2  x="416" y="113" id="388" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<CONNECTOR type="115" id="394" >
+<cdparam x="416" y="143" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="null" />
+<P1  x="416" y="143" id="389" />
+<P2  x="416" y="189" id="386" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+
+</TMLActivityDiagramPanel>
+
+<TMLActivityDiagramPanel name="T1" minX="10" maxX="2500" minY="10" maxY="1500" >
+<COMPONENT type="1001" id="396" >
+<cdparam x="404" y="175" />
+<sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="stop state" value="null" />
+<TGConnectingPoint num="0" id="395" />
+</COMPONENT>
+
+<COMPONENT type="1006" id="399" >
+<cdparam x="382" y="111" />
+<sizeparam width="65" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="write channel" value="comm(1)" />
+<TGConnectingPoint num="0" id="397" />
+<TGConnectingPoint num="1" id="398" />
+<extraparam>
+<Data channelName="comm" nbOfSamples="1" secPattern="" isAttacker="No" />
+</extraparam>
+</COMPONENT>
+
+<COMPONENT type="1000" id="401" >
+<cdparam x="407" y="51" />
+<sizeparam width="15" height="15" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="start state" value="null" />
+<TGConnectingPoint num="0" id="400" />
+</COMPONENT>
+
+<CONNECTOR type="115" id="402" >
+<cdparam x="407" y="70" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="null" />
+<P1  x="414" y="71" id="400" />
+<P2  x="414" y="106" id="397" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<CONNECTOR type="115" id="403" >
+<cdparam x="414" y="136" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="null" />
+<P1  x="414" y="136" id="398" />
+<P2  x="414" y="170" id="395" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+
+</TMLActivityDiagramPanel>
+
+</Modeling>
+
+
+
+
+<Modeling type="TML Architecture" nameTab="NonSecureArchitectureWithNonSecureFV" >
+<TMLArchiDiagramPanel name="DIPLODOCUS architecture and mapping Diagram" minX="10" maxX="2500" minY="10" maxY="1500" attributes="0" masterClockFrequency="200" >
+<COMPONENT type="1105" id="437" >
+<cdparam x="592" y="493" />
+<sizeparam width="205" height="139" minWidth="100" minHeight="35" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="MainMemory" value="name" />
+<TGConnectingPoint num="0" id="413" />
+<TGConnectingPoint num="1" id="414" />
+<TGConnectingPoint num="2" id="415" />
+<TGConnectingPoint num="3" id="416" />
+<TGConnectingPoint num="4" id="417" />
+<TGConnectingPoint num="5" id="418" />
+<TGConnectingPoint num="6" id="419" />
+<TGConnectingPoint num="7" id="420" />
+<TGConnectingPoint num="8" id="421" />
+<TGConnectingPoint num="9" id="422" />
+<TGConnectingPoint num="10" id="423" />
+<TGConnectingPoint num="11" id="424" />
+<TGConnectingPoint num="12" id="425" />
+<TGConnectingPoint num="13" id="426" />
+<TGConnectingPoint num="14" id="427" />
+<TGConnectingPoint num="15" id="428" />
+<TGConnectingPoint num="16" id="429" />
+<TGConnectingPoint num="17" id="430" />
+<TGConnectingPoint num="18" id="431" />
+<TGConnectingPoint num="19" id="432" />
+<TGConnectingPoint num="20" id="433" />
+<TGConnectingPoint num="21" id="434" />
+<TGConnectingPoint num="22" id="435" />
+<TGConnectingPoint num="23" id="436" />
+<extraparam>
+<info stereotype="MEMORY" nodeName="MainMemory" />
+<attributes byteDataSize="4"  memorySize="1024"  clockRatio="1"  bufferType="0" />
+</extraparam>
+</COMPONENT>
+<SUBCOMPONENT type="1103" id="412" >
+<father id="437" num="0" />
+<cdparam x="614" y="545" />
+<sizeparam width="164" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="0" maxX="41" minY="0" maxY="99" />
+<infoparam name="TGComponent" value="NonSecureFV::comm" />
+<TGConnectingPoint num="0" id="404" />
+<TGConnectingPoint num="1" id="405" />
+<TGConnectingPoint num="2" id="406" />
+<TGConnectingPoint num="3" id="407" />
+<TGConnectingPoint num="4" id="408" />
+<TGConnectingPoint num="5" id="409" />
+<TGConnectingPoint num="6" id="410" />
+<TGConnectingPoint num="7" id="411" />
+<extraparam>
+<info value="NonSecureFV::comm" communicationName="comm" referenceCommunicationName="NonSecureFV" priority="0" typeName="channel" />
+</extraparam>
+</SUBCOMPONENT>
+
+<COMPONENT type="1102" id="471" >
+<cdparam x="569" y="357" />
+<sizeparam width="250" height="96" minWidth="100" minHeight="50" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="MainBus" value="name" />
+<TGConnectingPoint num="0" id="447" />
+<TGConnectingPoint num="1" id="448" />
+<TGConnectingPoint num="2" id="449" />
+<TGConnectingPoint num="3" id="450" />
+<TGConnectingPoint num="4" id="451" />
+<TGConnectingPoint num="5" id="452" />
+<TGConnectingPoint num="6" id="453" />
+<TGConnectingPoint num="7" id="454" />
+<TGConnectingPoint num="8" id="455" />
+<TGConnectingPoint num="9" id="456" />
+<TGConnectingPoint num="10" id="457" />
+<TGConnectingPoint num="11" id="458" />
+<TGConnectingPoint num="12" id="459" />
+<TGConnectingPoint num="13" id="460" />
+<TGConnectingPoint num="14" id="461" />
+<TGConnectingPoint num="15" id="462" />
+<TGConnectingPoint num="16" id="463" />
+<TGConnectingPoint num="17" id="464" />
+<TGConnectingPoint num="18" id="465" />
+<TGConnectingPoint num="19" id="466" />
+<TGConnectingPoint num="20" id="467" />
+<TGConnectingPoint num="21" id="468" />
+<TGConnectingPoint num="22" id="469" />
+<TGConnectingPoint num="23" id="470" />
+<extraparam>
+<info stereotype="BUS-RR" nodeName="MainBus" />
+<attributes byteDataSize="4"  arbitrationPolicy="0"  sliceTime="10000"  pipelineSize="1"  clockRatio="1"  privacy="0"  referenceAttack="null" />
+</extraparam>
+</COMPONENT>
+<SUBCOMPONENT type="1103" id="446" >
+<father id="471" num="0" />
+<cdparam x="609" y="398" />
+<sizeparam width="164" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="0" maxX="86" minY="0" maxY="56" />
+<infoparam name="TGComponent" value="NonSecureFV::comm" />
+<TGConnectingPoint num="0" id="438" />
+<TGConnectingPoint num="1" id="439" />
+<TGConnectingPoint num="2" id="440" />
+<TGConnectingPoint num="3" id="441" />
+<TGConnectingPoint num="4" id="442" />
+<TGConnectingPoint num="5" id="443" />
+<TGConnectingPoint num="6" id="444" />
+<TGConnectingPoint num="7" id="445" />
+<extraparam>
+<info value="NonSecureFV::comm" communicationName="comm" referenceCommunicationName="NonSecureFV" priority="0" typeName="channel" />
+</extraparam>
+</SUBCOMPONENT>
+
+<COMPONENT type="1100" id="505" >
+<cdparam x="891" y="137" />
+<sizeparam width="250" height="200" minWidth="150" minHeight="100" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="CPU2" value="name" />
+<TGConnectingPoint num="0" id="481" />
+<TGConnectingPoint num="1" id="482" />
+<TGConnectingPoint num="2" id="483" />
+<TGConnectingPoint num="3" id="484" />
+<TGConnectingPoint num="4" id="485" />
+<TGConnectingPoint num="5" id="486" />
+<TGConnectingPoint num="6" id="487" />
+<TGConnectingPoint num="7" id="488" />
+<TGConnectingPoint num="8" id="489" />
+<TGConnectingPoint num="9" id="490" />
+<TGConnectingPoint num="10" id="491" />
+<TGConnectingPoint num="11" id="492" />
+<TGConnectingPoint num="12" id="493" />
+<TGConnectingPoint num="13" id="494" />
+<TGConnectingPoint num="14" id="495" />
+<TGConnectingPoint num="15" id="496" />
+<TGConnectingPoint num="16" id="497" />
+<TGConnectingPoint num="17" id="498" />
+<TGConnectingPoint num="18" id="499" />
+<TGConnectingPoint num="19" id="500" />
+<TGConnectingPoint num="20" id="501" />
+<TGConnectingPoint num="21" id="502" />
+<TGConnectingPoint num="22" id="503" />
+<TGConnectingPoint num="23" id="504" />
+<extraparam>
+<info stereotype="CPURR" nodeName="CPU2" />
+<attributes nbOfCores="1" byteDataSize="4"  schedulingPolicy="0"  sliceTime="10000"  goIdleTime="10"  maxConsecutiveIdleCycles="10"  pipelineSize="5"  taskSwitchingTime="20"  branchingPredictionPenalty="2"  cacheMiss="5" execiTime="1" execcTime="1" clockRatio="1" MECType="0" encryption="0"/>
+</extraparam>
+</COMPONENT>
+<SUBCOMPONENT type="1101" id="480" >
+<father id="505" num="0" />
+<cdparam x="933" y="219" />
+<sizeparam width="142" height="40" minWidth="100" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="0" maxX="108" minY="0" maxY="160" />
+<infoparam name="TGComponent" value="NonSecureFV::T2" />
+<TGConnectingPoint num="0" id="472" />
+<TGConnectingPoint num="1" id="473" />
+<TGConnectingPoint num="2" id="474" />
+<TGConnectingPoint num="3" id="475" />
+<TGConnectingPoint num="4" id="476" />
+<TGConnectingPoint num="5" id="477" />
+<TGConnectingPoint num="6" id="478" />
+<TGConnectingPoint num="7" id="479" />
+<extraparam>
+<info value="NonSecureFV::T2" taskName="T2" referenceTaskName="NonSecureFV" priority="0" operation="T2" fatherComponentMECType="0" />
+</extraparam>
+</SUBCOMPONENT>
+
+<COMPONENT type="1100" id="539" >
+<cdparam x="236" y="144" />
+<sizeparam width="250" height="200" minWidth="150" minHeight="100" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="CPU1" value="name" />
+<TGConnectingPoint num="0" id="515" />
+<TGConnectingPoint num="1" id="516" />
+<TGConnectingPoint num="2" id="517" />
+<TGConnectingPoint num="3" id="518" />
+<TGConnectingPoint num="4" id="519" />
+<TGConnectingPoint num="5" id="520" />
+<TGConnectingPoint num="6" id="521" />
+<TGConnectingPoint num="7" id="522" />
+<TGConnectingPoint num="8" id="523" />
+<TGConnectingPoint num="9" id="524" />
+<TGConnectingPoint num="10" id="525" />
+<TGConnectingPoint num="11" id="526" />
+<TGConnectingPoint num="12" id="527" />
+<TGConnectingPoint num="13" id="528" />
+<TGConnectingPoint num="14" id="529" />
+<TGConnectingPoint num="15" id="530" />
+<TGConnectingPoint num="16" id="531" />
+<TGConnectingPoint num="17" id="532" />
+<TGConnectingPoint num="18" id="533" />
+<TGConnectingPoint num="19" id="534" />
+<TGConnectingPoint num="20" id="535" />
+<TGConnectingPoint num="21" id="536" />
+<TGConnectingPoint num="22" id="537" />
+<TGConnectingPoint num="23" id="538" />
+<extraparam>
+<info stereotype="CPURR" nodeName="CPU1" />
+<attributes nbOfCores="1" byteDataSize="4"  schedulingPolicy="0"  sliceTime="10000"  goIdleTime="10"  maxConsecutiveIdleCycles="10"  pipelineSize="5"  taskSwitchingTime="20"  branchingPredictionPenalty="2"  cacheMiss="5" execiTime="1" execcTime="1" clockRatio="1" MECType="0" encryption="0"/>
+</extraparam>
+</COMPONENT>
+<SUBCOMPONENT type="1101" id="514" >
+<father id="539" num="0" />
+<cdparam x="288" y="213" />
+<sizeparam width="142" height="40" minWidth="100" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="0" maxX="108" minY="0" maxY="160" />
+<infoparam name="TGComponent" value="NonSecureFV::T1" />
+<TGConnectingPoint num="0" id="506" />
+<TGConnectingPoint num="1" id="507" />
+<TGConnectingPoint num="2" id="508" />
+<TGConnectingPoint num="3" id="509" />
+<TGConnectingPoint num="4" id="510" />
+<TGConnectingPoint num="5" id="511" />
+<TGConnectingPoint num="6" id="512" />
+<TGConnectingPoint num="7" id="513" />
+<extraparam>
+<info value="NonSecureFV::T1" taskName="T1" referenceTaskName="NonSecureFV" priority="0" operation="T2" fatherComponentMECType="0" />
+</extraparam>
+</SUBCOMPONENT>
+
+<CONNECTOR type="125" id="540" >
+<cdparam x="944" y="315" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="{info}" />
+<P1  x="953" y="337" id="495" />
+<P2  x="819" y="381" id="458" />
+<AutomaticDrawing  data="true" />
+<extraparam>
+<info priority="0" />
+<spy value="false" />
+</extraparam>
+</CONNECTOR>
+<CONNECTOR type="125" id="541" >
+<cdparam x="423" y="323" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="{info}" />
+<P1  x="423" y="344" id="530" />
+<P2  x="569" y="381" id="457" />
+<AutomaticDrawing  data="true" />
+<extraparam>
+<info priority="0" />
+<spy value="false" />
+</extraparam>
+</CONNECTOR>
+<CONNECTOR type="125" id="542" >
+<cdparam x="785" y="554" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="{info}" />
+<P1  x="694" y="493" id="414" />
+<P2  x="694" y="453" id="453" />
+<AutomaticDrawing  data="true" />
+<extraparam>
+<info priority="0" />
+<spy value="false" />
+</extraparam>
+</CONNECTOR>
+
+</TMLArchiDiagramPanel>
+
+</Modeling>
+
+
+
+
+<Modeling type="TML Architecture" nameTab="SecureArchitectureWithNonSecureFV" >
+<TMLArchiDiagramPanel name="DIPLODOCUS architecture and mapping Diagram" minX="10" maxX="2500" minY="10" maxY="1500" attributes="0" masterClockFrequency="200" >
+<COMPONENT type="1105" id="576" >
+<cdparam x="594" y="511" />
+<sizeparam width="205" height="139" minWidth="100" minHeight="35" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="MainMemory" value="name" />
+<TGConnectingPoint num="0" id="552" />
+<TGConnectingPoint num="1" id="553" />
+<TGConnectingPoint num="2" id="554" />
+<TGConnectingPoint num="3" id="555" />
+<TGConnectingPoint num="4" id="556" />
+<TGConnectingPoint num="5" id="557" />
+<TGConnectingPoint num="6" id="558" />
+<TGConnectingPoint num="7" id="559" />
+<TGConnectingPoint num="8" id="560" />
+<TGConnectingPoint num="9" id="561" />
+<TGConnectingPoint num="10" id="562" />
+<TGConnectingPoint num="11" id="563" />
+<TGConnectingPoint num="12" id="564" />
+<TGConnectingPoint num="13" id="565" />
+<TGConnectingPoint num="14" id="566" />
+<TGConnectingPoint num="15" id="567" />
+<TGConnectingPoint num="16" id="568" />
+<TGConnectingPoint num="17" id="569" />
+<TGConnectingPoint num="18" id="570" />
+<TGConnectingPoint num="19" id="571" />
+<TGConnectingPoint num="20" id="572" />
+<TGConnectingPoint num="21" id="573" />
+<TGConnectingPoint num="22" id="574" />
+<TGConnectingPoint num="23" id="575" />
+<extraparam>
+<info stereotype="MEMORY" nodeName="MainMemory" />
+<attributes byteDataSize="4"  memorySize="1024"  clockRatio="1"  bufferType="0" />
+</extraparam>
+</COMPONENT>
+<SUBCOMPONENT type="1103" id="551" >
+<father id="576" num="0" />
+<cdparam x="616" y="563" />
+<sizeparam width="164" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="0" maxX="41" minY="0" maxY="99" />
+<infoparam name="TGComponent" value="NonSecureFV::comm" />
+<TGConnectingPoint num="0" id="543" />
+<TGConnectingPoint num="1" id="544" />
+<TGConnectingPoint num="2" id="545" />
+<TGConnectingPoint num="3" id="546" />
+<TGConnectingPoint num="4" id="547" />
+<TGConnectingPoint num="5" id="548" />
+<TGConnectingPoint num="6" id="549" />
+<TGConnectingPoint num="7" id="550" />
+<extraparam>
+<info value="NonSecureFV::comm" communicationName="comm" referenceCommunicationName="NonSecureFV" priority="0" typeName="channel" />
+</extraparam>
+</SUBCOMPONENT>
+
+<COMPONENT type="1102" id="610" >
+<cdparam x="569" y="357" />
+<sizeparam width="250" height="96" minWidth="100" minHeight="50" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="MainBus" value="name" />
+<TGConnectingPoint num="0" id="586" />
+<TGConnectingPoint num="1" id="587" />
+<TGConnectingPoint num="2" id="588" />
+<TGConnectingPoint num="3" id="589" />
+<TGConnectingPoint num="4" id="590" />
+<TGConnectingPoint num="5" id="591" />
+<TGConnectingPoint num="6" id="592" />
+<TGConnectingPoint num="7" id="593" />
+<TGConnectingPoint num="8" id="594" />
+<TGConnectingPoint num="9" id="595" />
+<TGConnectingPoint num="10" id="596" />
+<TGConnectingPoint num="11" id="597" />
+<TGConnectingPoint num="12" id="598" />
+<TGConnectingPoint num="13" id="599" />
+<TGConnectingPoint num="14" id="600" />
+<TGConnectingPoint num="15" id="601" />
+<TGConnectingPoint num="16" id="602" />
+<TGConnectingPoint num="17" id="603" />
+<TGConnectingPoint num="18" id="604" />
+<TGConnectingPoint num="19" id="605" />
+<TGConnectingPoint num="20" id="606" />
+<TGConnectingPoint num="21" id="607" />
+<TGConnectingPoint num="22" id="608" />
+<TGConnectingPoint num="23" id="609" />
+<extraparam>
+<info stereotype="BUS-RR" nodeName="MainBus" />
+<attributes byteDataSize="4"  arbitrationPolicy="0"  sliceTime="10000"  pipelineSize="1"  clockRatio="1"  privacy="1"  referenceAttack="ReadDataOnBus" />
+</extraparam>
+</COMPONENT>
+<SUBCOMPONENT type="1103" id="585" >
+<father id="610" num="0" />
+<cdparam x="609" y="398" />
+<sizeparam width="164" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="0" maxX="86" minY="0" maxY="56" />
+<infoparam name="TGComponent" value="NonSecureFV::comm" />
+<TGConnectingPoint num="0" id="577" />
+<TGConnectingPoint num="1" id="578" />
+<TGConnectingPoint num="2" id="579" />
+<TGConnectingPoint num="3" id="580" />
+<TGConnectingPoint num="4" id="581" />
+<TGConnectingPoint num="5" id="582" />
+<TGConnectingPoint num="6" id="583" />
+<TGConnectingPoint num="7" id="584" />
+<extraparam>
+<info value="NonSecureFV::comm" communicationName="comm" referenceCommunicationName="NonSecureFV" priority="0" typeName="channel" />
+</extraparam>
+</SUBCOMPONENT>
+
+<COMPONENT type="1100" id="644" >
+<cdparam x="891" y="137" />
+<sizeparam width="250" height="200" minWidth="150" minHeight="100" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="CPU2" value="name" />
+<TGConnectingPoint num="0" id="620" />
+<TGConnectingPoint num="1" id="621" />
+<TGConnectingPoint num="2" id="622" />
+<TGConnectingPoint num="3" id="623" />
+<TGConnectingPoint num="4" id="624" />
+<TGConnectingPoint num="5" id="625" />
+<TGConnectingPoint num="6" id="626" />
+<TGConnectingPoint num="7" id="627" />
+<TGConnectingPoint num="8" id="628" />
+<TGConnectingPoint num="9" id="629" />
+<TGConnectingPoint num="10" id="630" />
+<TGConnectingPoint num="11" id="631" />
+<TGConnectingPoint num="12" id="632" />
+<TGConnectingPoint num="13" id="633" />
+<TGConnectingPoint num="14" id="634" />
+<TGConnectingPoint num="15" id="635" />
+<TGConnectingPoint num="16" id="636" />
+<TGConnectingPoint num="17" id="637" />
+<TGConnectingPoint num="18" id="638" />
+<TGConnectingPoint num="19" id="639" />
+<TGConnectingPoint num="20" id="640" />
+<TGConnectingPoint num="21" id="641" />
+<TGConnectingPoint num="22" id="642" />
+<TGConnectingPoint num="23" id="643" />
+<extraparam>
+<info stereotype="CPURR" nodeName="CPU2" />
+<attributes nbOfCores="1" byteDataSize="4"  schedulingPolicy="0"  sliceTime="10000"  goIdleTime="10"  maxConsecutiveIdleCycles="10"  pipelineSize="5"  taskSwitchingTime="20"  branchingPredictionPenalty="2"  cacheMiss="5" execiTime="1" execcTime="1" clockRatio="1" MECType="0" encryption="0"/>
+</extraparam>
+</COMPONENT>
+<SUBCOMPONENT type="1101" id="619" >
+<father id="644" num="0" />
+<cdparam x="933" y="219" />
+<sizeparam width="142" height="40" minWidth="100" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="0" maxX="108" minY="0" maxY="160" />
+<infoparam name="TGComponent" value="NonSecureFV::T2" />
+<TGConnectingPoint num="0" id="611" />
+<TGConnectingPoint num="1" id="612" />
+<TGConnectingPoint num="2" id="613" />
+<TGConnectingPoint num="3" id="614" />
+<TGConnectingPoint num="4" id="615" />
+<TGConnectingPoint num="5" id="616" />
+<TGConnectingPoint num="6" id="617" />
+<TGConnectingPoint num="7" id="618" />
+<extraparam>
+<info value="NonSecureFV::T2" taskName="T2" referenceTaskName="NonSecureFV" priority="0" operation="T2" fatherComponentMECType="0" />
+</extraparam>
+</SUBCOMPONENT>
+
+<COMPONENT type="1100" id="678" >
+<cdparam x="236" y="144" />
+<sizeparam width="250" height="200" minWidth="150" minHeight="100" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="CPU1" value="name" />
+<TGConnectingPoint num="0" id="654" />
+<TGConnectingPoint num="1" id="655" />
+<TGConnectingPoint num="2" id="656" />
+<TGConnectingPoint num="3" id="657" />
+<TGConnectingPoint num="4" id="658" />
+<TGConnectingPoint num="5" id="659" />
+<TGConnectingPoint num="6" id="660" />
+<TGConnectingPoint num="7" id="661" />
+<TGConnectingPoint num="8" id="662" />
+<TGConnectingPoint num="9" id="663" />
+<TGConnectingPoint num="10" id="664" />
+<TGConnectingPoint num="11" id="665" />
+<TGConnectingPoint num="12" id="666" />
+<TGConnectingPoint num="13" id="667" />
+<TGConnectingPoint num="14" id="668" />
+<TGConnectingPoint num="15" id="669" />
+<TGConnectingPoint num="16" id="670" />
+<TGConnectingPoint num="17" id="671" />
+<TGConnectingPoint num="18" id="672" />
+<TGConnectingPoint num="19" id="673" />
+<TGConnectingPoint num="20" id="674" />
+<TGConnectingPoint num="21" id="675" />
+<TGConnectingPoint num="22" id="676" />
+<TGConnectingPoint num="23" id="677" />
+<extraparam>
+<info stereotype="CPURR" nodeName="CPU1" />
+<attributes nbOfCores="1" byteDataSize="4"  schedulingPolicy="0"  sliceTime="10000"  goIdleTime="10"  maxConsecutiveIdleCycles="10"  pipelineSize="5"  taskSwitchingTime="20"  branchingPredictionPenalty="2"  cacheMiss="5" execiTime="1" execcTime="1" clockRatio="1" MECType="0" encryption="0"/>
+</extraparam>
+</COMPONENT>
+<SUBCOMPONENT type="1101" id="653" >
+<father id="678" num="0" />
+<cdparam x="288" y="213" />
+<sizeparam width="142" height="40" minWidth="100" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="0" maxX="108" minY="0" maxY="160" />
+<infoparam name="TGComponent" value="NonSecureFV::T1" />
+<TGConnectingPoint num="0" id="645" />
+<TGConnectingPoint num="1" id="646" />
+<TGConnectingPoint num="2" id="647" />
+<TGConnectingPoint num="3" id="648" />
+<TGConnectingPoint num="4" id="649" />
+<TGConnectingPoint num="5" id="650" />
+<TGConnectingPoint num="6" id="651" />
+<TGConnectingPoint num="7" id="652" />
+<extraparam>
+<info value="NonSecureFV::T1" taskName="T1" referenceTaskName="NonSecureFV" priority="0" operation="T2" fatherComponentMECType="0" />
+</extraparam>
+</SUBCOMPONENT>
+
+<CONNECTOR type="125" id="679" >
+<cdparam x="944" y="315" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="{info}" />
+<P1  x="953" y="337" id="634" />
+<P2  x="819" y="381" id="597" />
+<AutomaticDrawing  data="true" />
+<extraparam>
+<info priority="0" />
+<spy value="false" />
+</extraparam>
+</CONNECTOR>
+<CONNECTOR type="125" id="680" >
+<cdparam x="423" y="323" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="{info}" />
+<P1  x="423" y="344" id="669" />
+<P2  x="569" y="381" id="596" />
+<AutomaticDrawing  data="true" />
+<extraparam>
+<info priority="0" />
+<spy value="false" />
+</extraparam>
+</CONNECTOR>
+<CONNECTOR type="125" id="681" >
+<cdparam x="785" y="554" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="{info}" />
+<P1  x="696" y="511" id="553" />
+<P2  x="694" y="453" id="592" />
+<AutomaticDrawing  data="true" />
+<extraparam>
+<info priority="0" />
+<spy value="false" />
+</extraparam>
+</CONNECTOR>
+
+</TMLArchiDiagramPanel>
+
+</Modeling>
+
+
+
+
+<Modeling type="TML Component Design" nameTab="SecureFV" >
+<TMLComponentTaskDiagramPanel name="TML Component Task Diagram" minX="10" maxX="2500" minY="10" maxY="1500" channels="true" events="true" requests="true" zoom="1.0" >
+<CONNECTOR type="126" id="682" >
+<cdparam x="419" y="198" />
+<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="419" y="198" id="694" />
+<P2  x="570" y="198" id="683" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<COMPONENT type="1202" id="693" >
+<cdparam x="583" y="132" />
+<sizeparam width="200" height="150" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="Primitive component" value="T2" />
+<TGConnectingPoint num="0" id="685" />
+<TGConnectingPoint num="1" id="686" />
+<TGConnectingPoint num="2" id="687" />
+<TGConnectingPoint num="3" id="688" />
+<TGConnectingPoint num="4" id="689" />
+<TGConnectingPoint num="5" id="690" />
+<TGConnectingPoint num="6" id="691" />
+<TGConnectingPoint num="7" id="692" />
+<extraparam>
+<Data isAttacker="No" />
+</extraparam>
+</COMPONENT>
+<SUBCOMPONENT type="1203" id="684" >
+<father id="693" num="0" />
+<reference id="236" />
+<cdparam x="570" y="185" />
+<sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="-13" maxX="187" minY="-13" maxY="137" />
+<infoparam name="Primitive port" value="Channel comm" />
+<TGConnectingPoint num="0" id="683" />
+<extraparam>
+<Prop commName="comm" commType="0" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="40" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+</extraparam>
+</SUBCOMPONENT>
+
+<COMPONENT type="1202" id="704" >
+<cdparam x="206" y="130" />
+<sizeparam width="200" height="150" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="Primitive component" value="T1" />
+<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" />
+<extraparam>
+<Data isAttacker="No" />
+</extraparam>
+</COMPONENT>
+<SUBCOMPONENT type="1203" id="695" >
+<father id="704" num="0" />
+<reference id="236" />
+<cdparam x="393" y="185" />
+<sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="-13" maxX="187" minY="-13" maxY="137" />
+<infoparam name="Primitive port" value="Channel comm" />
+<TGConnectingPoint num="0" id="694" />
+<extraparam>
+<Prop commName="comm" commType="0" origin="true" finite="false" blocking="true" maxSamples="80" widthSamples="40" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="int16_t" associatedEvent="" checkConf="true" checkConfStatus="1" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+</extraparam>
+</SUBCOMPONENT>
+
+
+</TMLComponentTaskDiagramPanel>
+
+<TMLActivityDiagramPanel name="T2" minX="10" maxX="2500" minY="10" maxY="1500" >
+<COMPONENT type="1036" id="707" >
+<cdparam x="409" y="180" />
+<sizeparam width="15" height="35" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="decrypt" value="null" />
+<TGConnectingPoint num="0" id="705" />
+<TGConnectingPoint num="1" id="706" />
+<extraparam>
+<Data secPattern="Cipherdata" />
+</extraparam>
+</COMPONENT>
+
+<COMPONENT type="1001" id="709" >
+<cdparam x="406" y="281" />
+<sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="stop state" value="null" />
+<TGConnectingPoint num="0" id="708" />
+</COMPONENT>
+
+<COMPONENT type="1009" id="712" >
+<cdparam x="382" y="118" />
+<sizeparam width="69" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="read channel" value="comm(1) " />
+<TGConnectingPoint num="0" id="710" />
+<TGConnectingPoint num="1" id="711" />
+<extraparam>
+<Data channelName="comm" nbOfSamples="1" secPattern="Cipherdata" isAttacker="No" />
+</extraparam>
+</COMPONENT>
+
+<COMPONENT type="1000" id="714" >
+<cdparam x="409" y="58" />
+<sizeparam width="15" height="15" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="start state" value="null" />
+<TGConnectingPoint num="0" id="713" />
+</COMPONENT>
+
+<CONNECTOR type="115" id="715" >
+<cdparam x="410" y="225" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="null" />
+<P1  x="416" y="225" id="706" />
+<P2  x="416" y="276" id="708" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<CONNECTOR type="115" id="716" >
+<cdparam x="407" y="70" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="null" />
+<P1  x="416" y="78" id="713" />
+<P2  x="416" y="113" id="710" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<CONNECTOR type="115" id="717" >
+<cdparam x="416" y="143" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="null" />
+<P1  x="416" y="143" id="711" />
+<P2  x="416" y="175" id="705" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+
+</TMLActivityDiagramPanel>
+
+<TMLActivityDiagramPanel name="T1" minX="10" maxX="2500" minY="10" maxY="1500" >
+<COMPONENT type="1035" id="720" >
+<cdparam x="408" y="104" />
+<sizeparam width="15" height="35" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="encrypt" value="null" />
+<TGConnectingPoint num="0" id="718" />
+<TGConnectingPoint num="1" id="719" />
+<extraparam>
+<Data secContext="Cipherdata" type="Symmetric Encryption" overhead="" size="" encTime="100" decTime="100" nonce="" key="" algorithm="" />
+</extraparam>
+</COMPONENT>
+
+<COMPONENT type="1001" id="722" >
+<cdparam x="405" y="265" />
+<sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="stop state" value="null" />
+<TGConnectingPoint num="0" id="721" />
+</COMPONENT>
+
+<COMPONENT type="1006" id="725" >
+<cdparam x="383" y="184" />
+<sizeparam width="65" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="write channel" value="comm(1)" />
+<TGConnectingPoint num="0" id="723" />
+<TGConnectingPoint num="1" id="724" />
+<extraparam>
+<Data channelName="comm" nbOfSamples="1" secPattern="Cipherdata" isAttacker="No" />
+</extraparam>
+</COMPONENT>
+
+<COMPONENT type="1000" id="727" >
+<cdparam x="408" y="41" />
+<sizeparam width="15" height="15" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="start state" value="null" />
+<TGConnectingPoint num="0" id="726" />
+</COMPONENT>
+
+<CONNECTOR type="115" id="728" >
+<cdparam x="433" y="145" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="null" />
+<P1  x="415" y="149" id="719" />
+<P2  x="415" y="179" id="723" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<CONNECTOR type="115" id="729" >
+<cdparam x="407" y="70" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="null" />
+<P1  x="415" y="61" id="726" />
+<P2  x="415" y="99" id="718" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<CONNECTOR type="115" id="730" >
+<cdparam x="405" y="136" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="null" />
+<P1  x="415" y="209" id="724" />
+<P2  x="415" y="260" id="721" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+
+</TMLActivityDiagramPanel>
+
+</Modeling>
+
+
+
+
+<Modeling type="TML Architecture" nameTab="NonSecureArchitectureWithSecureFV" >
+<TMLArchiDiagramPanel name="DIPLODOCUS architecture and mapping Diagram" minX="10" maxX="2500" minY="10" maxY="1500" attributes="0" masterClockFrequency="200" >
+<COMPONENT type="1105" id="764" >
+<cdparam x="594" y="511" />
+<sizeparam width="205" height="139" minWidth="100" minHeight="35" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="MainMemory" value="name" />
+<TGConnectingPoint num="0" id="740" />
+<TGConnectingPoint num="1" id="741" />
+<TGConnectingPoint num="2" id="742" />
+<TGConnectingPoint num="3" id="743" />
+<TGConnectingPoint num="4" id="744" />
+<TGConnectingPoint num="5" id="745" />
+<TGConnectingPoint num="6" id="746" />
+<TGConnectingPoint num="7" id="747" />
+<TGConnectingPoint num="8" id="748" />
+<TGConnectingPoint num="9" id="749" />
+<TGConnectingPoint num="10" id="750" />
+<TGConnectingPoint num="11" id="751" />
+<TGConnectingPoint num="12" id="752" />
+<TGConnectingPoint num="13" id="753" />
+<TGConnectingPoint num="14" id="754" />
+<TGConnectingPoint num="15" id="755" />
+<TGConnectingPoint num="16" id="756" />
+<TGConnectingPoint num="17" id="757" />
+<TGConnectingPoint num="18" id="758" />
+<TGConnectingPoint num="19" id="759" />
+<TGConnectingPoint num="20" id="760" />
+<TGConnectingPoint num="21" id="761" />
+<TGConnectingPoint num="22" id="762" />
+<TGConnectingPoint num="23" id="763" />
+<extraparam>
+<info stereotype="MEMORY" nodeName="MainMemory" />
+<attributes byteDataSize="4"  memorySize="1024"  clockRatio="1"  bufferType="0" />
+</extraparam>
+</COMPONENT>
+<SUBCOMPONENT type="1103" id="739" >
+<father id="764" num="0" />
+<cdparam x="616" y="563" />
+<sizeparam width="139" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="0" maxX="66" minY="0" maxY="99" />
+<infoparam name="TGComponent" value="SecureFV::comm" />
+<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" />
+<extraparam>
+<info value="SecureFV::comm" communicationName="comm" referenceCommunicationName="SecureFV" priority="0" typeName="channel" />
+</extraparam>
+</SUBCOMPONENT>
+
+<COMPONENT type="1102" id="798" >
+<cdparam x="571" y="352" />
+<sizeparam width="250" height="96" minWidth="100" minHeight="50" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="MainBus" value="name" />
+<TGConnectingPoint num="0" id="774" />
+<TGConnectingPoint num="1" id="775" />
+<TGConnectingPoint num="2" id="776" />
+<TGConnectingPoint num="3" id="777" />
+<TGConnectingPoint num="4" id="778" />
+<TGConnectingPoint num="5" id="779" />
+<TGConnectingPoint num="6" id="780" />
+<TGConnectingPoint num="7" id="781" />
+<TGConnectingPoint num="8" id="782" />
+<TGConnectingPoint num="9" id="783" />
+<TGConnectingPoint num="10" id="784" />
+<TGConnectingPoint num="11" id="785" />
+<TGConnectingPoint num="12" id="786" />
+<TGConnectingPoint num="13" id="787" />
+<TGConnectingPoint num="14" id="788" />
+<TGConnectingPoint num="15" id="789" />
+<TGConnectingPoint num="16" id="790" />
+<TGConnectingPoint num="17" id="791" />
+<TGConnectingPoint num="18" id="792" />
+<TGConnectingPoint num="19" id="793" />
+<TGConnectingPoint num="20" id="794" />
+<TGConnectingPoint num="21" id="795" />
+<TGConnectingPoint num="22" id="796" />
+<TGConnectingPoint num="23" id="797" />
+<extraparam>
+<info stereotype="BUS-RR" nodeName="MainBus" />
+<attributes byteDataSize="4"  arbitrationPolicy="0"  sliceTime="10000"  pipelineSize="1"  clockRatio="1"  privacy="0"  referenceAttack="null" />
+</extraparam>
+</COMPONENT>
+<SUBCOMPONENT type="1103" id="773" >
+<father id="798" num="0" />
+<cdparam x="611" y="393" />
+<sizeparam width="139" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="0" maxX="111" minY="0" maxY="56" />
+<infoparam name="TGComponent" value="SecureFV::comm" />
+<TGConnectingPoint num="0" id="765" />
+<TGConnectingPoint num="1" id="766" />
+<TGConnectingPoint num="2" id="767" />
+<TGConnectingPoint num="3" id="768" />
+<TGConnectingPoint num="4" id="769" />
+<TGConnectingPoint num="5" id="770" />
+<TGConnectingPoint num="6" id="771" />
+<TGConnectingPoint num="7" id="772" />
+<extraparam>
+<info value="SecureFV::comm" communicationName="comm" referenceCommunicationName="SecureFV" priority="0" typeName="channel" />
+</extraparam>
+</SUBCOMPONENT>
+
+<COMPONENT type="1100" id="832" >
+<cdparam x="876" y="124" />
+<sizeparam width="250" height="200" minWidth="150" minHeight="100" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="CPU2" value="name" />
+<TGConnectingPoint num="0" id="808" />
+<TGConnectingPoint num="1" id="809" />
+<TGConnectingPoint num="2" id="810" />
+<TGConnectingPoint num="3" id="811" />
+<TGConnectingPoint num="4" id="812" />
+<TGConnectingPoint num="5" id="813" />
+<TGConnectingPoint num="6" id="814" />
+<TGConnectingPoint num="7" id="815" />
+<TGConnectingPoint num="8" id="816" />
+<TGConnectingPoint num="9" id="817" />
+<TGConnectingPoint num="10" id="818" />
+<TGConnectingPoint num="11" id="819" />
+<TGConnectingPoint num="12" id="820" />
+<TGConnectingPoint num="13" id="821" />
+<TGConnectingPoint num="14" id="822" />
+<TGConnectingPoint num="15" id="823" />
+<TGConnectingPoint num="16" id="824" />
+<TGConnectingPoint num="17" id="825" />
+<TGConnectingPoint num="18" id="826" />
+<TGConnectingPoint num="19" id="827" />
+<TGConnectingPoint num="20" id="828" />
+<TGConnectingPoint num="21" id="829" />
+<TGConnectingPoint num="22" id="830" />
+<TGConnectingPoint num="23" id="831" />
+<extraparam>
+<info stereotype="CPURR" nodeName="CPU2" />
+<attributes nbOfCores="1" byteDataSize="4"  schedulingPolicy="0"  sliceTime="10000"  goIdleTime="10"  maxConsecutiveIdleCycles="10"  pipelineSize="5"  taskSwitchingTime="20"  branchingPredictionPenalty="2"  cacheMiss="5" execiTime="1" execcTime="1" clockRatio="1" MECType="0" encryption="0"/>
+</extraparam>
+</COMPONENT>
+<SUBCOMPONENT type="1101" id="807" >
+<father id="832" num="0" />
+<cdparam x="918" y="206" />
+<sizeparam width="117" height="40" minWidth="100" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="0" maxX="133" minY="0" maxY="160" />
+<infoparam name="TGComponent" value="SecureFV::T2" />
+<TGConnectingPoint num="0" id="799" />
+<TGConnectingPoint num="1" id="800" />
+<TGConnectingPoint num="2" id="801" />
+<TGConnectingPoint num="3" id="802" />
+<TGConnectingPoint num="4" id="803" />
+<TGConnectingPoint num="5" id="804" />
+<TGConnectingPoint num="6" id="805" />
+<TGConnectingPoint num="7" id="806" />
+<extraparam>
+<info value="SecureFV::T2" taskName="T2" referenceTaskName="SecureFV" priority="0" operation="T2" fatherComponentMECType="0" />
+</extraparam>
+</SUBCOMPONENT>
+
+<COMPONENT type="1100" id="866" >
+<cdparam x="238" y="138" />
+<sizeparam width="250" height="200" minWidth="150" minHeight="100" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="CPU1" value="name" />
+<TGConnectingPoint num="0" id="842" />
+<TGConnectingPoint num="1" id="843" />
+<TGConnectingPoint num="2" id="844" />
+<TGConnectingPoint num="3" id="845" />
+<TGConnectingPoint num="4" id="846" />
+<TGConnectingPoint num="5" id="847" />
+<TGConnectingPoint num="6" id="848" />
+<TGConnectingPoint num="7" id="849" />
+<TGConnectingPoint num="8" id="850" />
+<TGConnectingPoint num="9" id="851" />
+<TGConnectingPoint num="10" id="852" />
+<TGConnectingPoint num="11" id="853" />
+<TGConnectingPoint num="12" id="854" />
+<TGConnectingPoint num="13" id="855" />
+<TGConnectingPoint num="14" id="856" />
+<TGConnectingPoint num="15" id="857" />
+<TGConnectingPoint num="16" id="858" />
+<TGConnectingPoint num="17" id="859" />
+<TGConnectingPoint num="18" id="860" />
+<TGConnectingPoint num="19" id="861" />
+<TGConnectingPoint num="20" id="862" />
+<TGConnectingPoint num="21" id="863" />
+<TGConnectingPoint num="22" id="864" />
+<TGConnectingPoint num="23" id="865" />
+<extraparam>
+<info stereotype="CPURR" nodeName="CPU1" />
+<attributes nbOfCores="1" byteDataSize="4"  schedulingPolicy="0"  sliceTime="10000"  goIdleTime="10"  maxConsecutiveIdleCycles="10"  pipelineSize="5"  taskSwitchingTime="20"  branchingPredictionPenalty="2"  cacheMiss="5" execiTime="1" execcTime="1" clockRatio="1" MECType="0" encryption="0"/>
+</extraparam>
+</COMPONENT>
+<SUBCOMPONENT type="1101" id="841" >
+<father id="866" num="0" />
+<cdparam x="290" y="207" />
+<sizeparam width="117" height="40" minWidth="100" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="0" maxX="133" minY="0" maxY="160" />
+<infoparam name="TGComponent" value="SecureFV::T1" />
+<TGConnectingPoint num="0" id="833" />
+<TGConnectingPoint num="1" id="834" />
+<TGConnectingPoint num="2" id="835" />
+<TGConnectingPoint num="3" id="836" />
+<TGConnectingPoint num="4" id="837" />
+<TGConnectingPoint num="5" id="838" />
+<TGConnectingPoint num="6" id="839" />
+<TGConnectingPoint num="7" id="840" />
+<extraparam>
+<info value="SecureFV::T1" taskName="T1" referenceTaskName="SecureFV" priority="0" operation="T1" fatherComponentMECType="0" />
+</extraparam>
+</SUBCOMPONENT>
+
+<CONNECTOR type="125" id="867" >
+<cdparam x="944" y="315" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="{info}" />
+<P1  x="938" y="324" id="822" />
+<P2  x="821" y="376" id="785" />
+<AutomaticDrawing  data="true" />
+<extraparam>
+<info priority="0" />
+<spy value="false" />
+</extraparam>
+</CONNECTOR>
+<CONNECTOR type="125" id="868" >
+<cdparam x="425" y="317" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="{info}" />
+<P1  x="425" y="338" id="857" />
+<P2  x="571" y="376" id="784" />
+<AutomaticDrawing  data="true" />
+<extraparam>
+<info priority="0" />
+<spy value="false" />
+</extraparam>
+</CONNECTOR>
+<CONNECTOR type="125" id="869" >
+<cdparam x="785" y="554" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="{info}" />
+<P1  x="696" y="511" id="741" />
+<P2  x="696" y="448" id="780" />
+<AutomaticDrawing  data="true" />
+<extraparam>
+<info priority="0" />
+<spy value="false" />
+</extraparam>
+</CONNECTOR>
+
+</TMLArchiDiagramPanel>
+
+</Modeling>
+
+
+
+
+<Modeling type="AVATAR Design" nameTab="SecurityMechanismDesign" >
+<AVATARBlockDiagramPanel name="Block Diagram" minX="10" maxX="1900" minY="10" maxY="900" zoom="1.0" >
+<MainCode value="void __user_init() {"/>
+<MainCode value="}"/>
+<Optimized value="true" />
+<Validated value="System;T2;T1;" />
+<Ignored value="" />
+
+<CONNECTOR type="5002" id="875" >
+<cdparam x="568" y="109" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector from Block0 to Block0" value="" />
+<TGConnectingPoint num="0" id="872" />
+<TGConnectingPoint num="1" id="873" />
+<TGConnectingPoint num="2" id="874" />
+<P1  x="459" y="88" id="972" />
+<P2  x="459" y="143" id="965" />
+<Point x="490" y="88" />
+<Point x="490" y="143" />
+<AutomaticDrawing  data="true" />
+<extraparam>
+<iso value="in chin(Message msg)" />
+<osd value="out chout(Message msg)" />
+<FIFOType asynchronous="false" size="1" blocking="false" private="false" broadcast="false" lossy="false" />
+</extraparam>
+</CONNECTOR><SUBCOMPONENT type="-1" id="870" >
+<father id="875" num="0" />
+<cdparam x="490" y="88" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
+<infoparam name="point " value="null" />
+</SUBCOMPONENT>
+<SUBCOMPONENT type="-1" id="871" >
+<father id="875" num="1" />
+<cdparam x="490" y="143" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
+<infoparam name="point " value="null" />
+</SUBCOMPONENT>
+
+<COMPONENT type="302" id="892" >
+<cdparam x="517" y="43" />
+<sizeparam width="274" height="84" minWidth="80" minHeight="10" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="1900" minY="10" maxY="900" />
+<infoparam name="Proverif Pragma" value="#InitialSystemKnowledge T1.sk T2.sk
+
+#Confidentiality T1.secretData
+" />
+<TGConnectingPoint num="0" id="876" />
+<TGConnectingPoint num="1" id="877" />
+<TGConnectingPoint num="2" id="878" />
+<TGConnectingPoint num="3" id="879" />
+<TGConnectingPoint num="4" id="880" />
+<TGConnectingPoint num="5" id="881" />
+<TGConnectingPoint num="6" id="882" />
+<TGConnectingPoint num="7" id="883" />
+<TGConnectingPoint num="8" id="884" />
+<TGConnectingPoint num="9" id="885" />
+<TGConnectingPoint num="10" id="886" />
+<TGConnectingPoint num="11" id="887" />
+<TGConnectingPoint num="12" id="888" />
+<TGConnectingPoint num="13" id="889" />
+<TGConnectingPoint num="14" id="890" />
+<TGConnectingPoint num="15" id="891" />
+<extraparam>
+<Line value="#InitialSystemKnowledge T1.sk T2.sk" />
+<Line value="" />
+<Line value="#Confidentiality T1.secretData" />
+</extraparam>
+</COMPONENT>
+
+<COMPONENT type="5003" id="901" >
+<cdparam x="260" y="262" />
+<sizeparam width="129" height="61" minWidth="5" minHeight="2" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="1900" minY="10" maxY="900" />
+<infoparam name="DataType0" value="Message" />
+<TGConnectingPoint num="0" id="893" />
+<TGConnectingPoint num="1" id="894" />
+<TGConnectingPoint num="2" id="895" />
+<TGConnectingPoint num="3" id="896" />
+<TGConnectingPoint num="4" id="897" />
+<TGConnectingPoint num="5" id="898" />
+<TGConnectingPoint num="6" id="899" />
+<TGConnectingPoint num="7" id="900" />
+<extraparam>
+<Attribute access="0" id="data" value="" type="8" typeOther="" />
+</extraparam>
+</COMPONENT>
+
+<COMPONENT type="5003" id="910" >
+<cdparam x="68" y="261" />
+<sizeparam width="123" height="62" minWidth="5" minHeight="2" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="1900" minY="10" maxY="900" />
+<infoparam name="DataType0" value="Key" />
+<TGConnectingPoint num="0" id="902" />
+<TGConnectingPoint num="1" id="903" />
+<TGConnectingPoint num="2" id="904" />
+<TGConnectingPoint num="3" id="905" />
+<TGConnectingPoint num="4" id="906" />
+<TGConnectingPoint num="5" id="907" />
+<TGConnectingPoint num="6" id="908" />
+<TGConnectingPoint num="7" id="909" />
+<extraparam>
+<Attribute access="0" id="data" value="" type="8" typeOther="" />
+</extraparam>
+</COMPONENT>
+
+<COMPONENT type="5000" id="985" >
+<cdparam x="21" y="34" />
+<sizeparam width="438" height="219" minWidth="5" minHeight="2" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="1900" minY="10" maxY="900" />
+<infoparam name="Block0" value="System" />
+<TGConnectingPoint num="0" id="961" />
+<TGConnectingPoint num="1" id="962" />
+<TGConnectingPoint num="2" id="963" />
+<TGConnectingPoint num="3" id="964" />
+<TGConnectingPoint num="4" id="965" />
+<TGConnectingPoint num="5" id="966" />
+<TGConnectingPoint num="6" id="967" />
+<TGConnectingPoint num="7" id="968" />
+<TGConnectingPoint num="8" id="969" />
+<TGConnectingPoint num="9" id="970" />
+<TGConnectingPoint num="10" id="971" />
+<TGConnectingPoint num="11" id="972" />
+<TGConnectingPoint num="12" id="973" />
+<TGConnectingPoint num="13" id="974" />
+<TGConnectingPoint num="14" id="975" />
+<TGConnectingPoint num="15" id="976" />
+<TGConnectingPoint num="16" id="977" />
+<TGConnectingPoint num="17" id="978" />
+<TGConnectingPoint num="18" id="979" />
+<TGConnectingPoint num="19" id="980" />
+<TGConnectingPoint num="20" id="981" />
+<TGConnectingPoint num="21" id="982" />
+<TGConnectingPoint num="22" id="983" />
+<TGConnectingPoint num="23" id="984" />
+<extraparam>
+<CryptoBlock value="false" />
+<Signal value="in chin(Message msg)" attached="true" />
+<Signal value="out chout(Message msg)" attached="true" />
+</extraparam>
+</COMPONENT>
+<SUBCOMPONENT type="5000" id="935" >
+<father id="985" num="0" />
+<cdparam x="263" y="122" />
+<sizeparam width="139" height="126" minWidth="5" minHeight="2" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="0" maxX="299" minY="0" maxY="93" />
+<infoparam name="Block0" value="T2" />
+<TGConnectingPoint num="0" id="911" />
+<TGConnectingPoint num="1" id="912" />
+<TGConnectingPoint num="2" id="913" />
+<TGConnectingPoint num="3" id="914" />
+<TGConnectingPoint num="4" id="915" />
+<TGConnectingPoint num="5" id="916" />
+<TGConnectingPoint num="6" id="917" />
+<TGConnectingPoint num="7" id="918" />
+<TGConnectingPoint num="8" id="919" />
+<TGConnectingPoint num="9" id="920" />
+<TGConnectingPoint num="10" id="921" />
+<TGConnectingPoint num="11" id="922" />
+<TGConnectingPoint num="12" id="923" />
+<TGConnectingPoint num="13" id="924" />
+<TGConnectingPoint num="14" id="925" />
+<TGConnectingPoint num="15" id="926" />
+<TGConnectingPoint num="16" id="927" />
+<TGConnectingPoint num="17" id="928" />
+<TGConnectingPoint num="18" id="929" />
+<TGConnectingPoint num="19" id="930" />
+<TGConnectingPoint num="20" id="931" />
+<TGConnectingPoint num="21" id="932" />
+<TGConnectingPoint num="22" id="933" />
+<TGConnectingPoint num="23" id="934" />
+<extraparam>
+<CryptoBlock value="true" />
+<Attribute access="0" id="m" value="" type="5" typeOther="Message" />
+<Attribute access="0" id="m2" value="" type="5" typeOther="Message" />
+<Attribute access="0" id="sk" value="" type="5" typeOther="Key" />
+<Attribute access="0" id="receivedData" value="" type="8" typeOther="" />
+<Method value="Message encrypt(Message msg, Key k)" />
+<Method value="Message decrypt(Message msg, Key k)" />
+<Method value="Message sencrypt(Message msg, Key k)" />
+<Method value="Message sdecrypt(Message msg, Key k)" />
+<Method value="Message MAC(Message msg, Key k)" />
+<Method value="bool verifyMAC(Message msg, Key k, Message macmsg)" />
+<Method value="Message concat2(Message msg1, Message msg2)" />
+<Method value="Message concat3(Message msg1, Message msg2, Message msg3)" />
+<Method value="Message concat4(Message msg1, Message msg2, Message msg3, Message msg4)" />
+<Method value="get2(Message msg, Message msg1, Message msg2)" />
+<Method value="get3(Message msg, Message msg1, Message msg2, Message msg3)" />
+<Method value="get4(Message msg, Message msg1, Message msg2, Message msg3, Message msg4)" />
+<Method value="Message aencrypt(Message msg, Key k)" />
+<Method value="Message adecrypt(Message msg, Key k)" />
+<Method value="Key pk(Key k)" />
+<Method value="Message sign(Message msg, Key k)" />
+<Method value="bool verifySign(Message msg1, Message sig, Key k)" />
+<Method value="Message cert(Key k, Message msg)" />
+<Method value="bool verifyCert(Message cert, Key k)" />
+<Method value="Key getpk(Message cert)" />
+<Method value="Key DH(Key pubK, Key privK)" />
+<Method value="Message hash(Message msg)" />
+</extraparam>
+</SUBCOMPONENT>
+<SUBCOMPONENT type="5000" id="960" >
+<father id="985" num="1" />
+<cdparam x="36" y="122" />
+<sizeparam width="215" height="126" minWidth="5" minHeight="2" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="0" maxX="223" minY="0" maxY="93" />
+<infoparam name="Block0" value="T1" />
+<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="16" id="952" />
+<TGConnectingPoint num="17" id="953" />
+<TGConnectingPoint num="18" id="954" />
+<TGConnectingPoint num="19" id="955" />
+<TGConnectingPoint num="20" id="956" />
+<TGConnectingPoint num="21" id="957" />
+<TGConnectingPoint num="22" id="958" />
+<TGConnectingPoint num="23" id="959" />
+<extraparam>
+<CryptoBlock value="true" />
+<Attribute access="0" id="secretData" value="" type="8" typeOther="" />
+<Attribute access="0" id="m" value="" type="5" typeOther="Message" />
+<Attribute access="0" id="m1" value="" type="5" typeOther="Message" />
+<Attribute access="0" id="sk" value="" type="5" typeOther="Key" />
+<Method value="Message encrypt(Message msg, Key k)" />
+<Method value="Message decrypt(Message msg, Key k)" />
+<Method value="Message sencrypt(Message msg, Key k)" />
+<Method value="Message sdecrypt(Message msg, Key k)" />
+<Method value="Message MAC(Message msg, Key k)" />
+<Method value="bool verifyMAC(Message msg, Key k, Message macmsg)" />
+<Method value="Message concat2(Message msg1, Message msg2)" />
+<Method value="Message concat3(Message msg1, Message msg2, Message msg3)" />
+<Method value="Message concat4(Message msg1, Message msg2, Message msg3, Message msg4)" />
+<Method value="get2(Message msg, Message msg1, Message msg2)" />
+<Method value="get3(Message msg, Message msg1, Message msg2, Message msg3)" />
+<Method value="get4(Message msg, Message msg1, Message msg2, Message msg3, Message msg4)" />
+<Method value="Message aencrypt(Message msg, Key k)" />
+<Method value="Message adecrypt(Message msg, Key k)" />
+<Method value="Key pk(Key k)" />
+<Method value="Message sign(Message msg, Key k)" />
+<Method value="bool verifySign(Message msg1, Message sig, Key k)" />
+<Method value="Message cert(Key k, Message msg)" />
+<Method value="bool verifyCert(Message cert, Key k)" />
+<Method value="Key getpk(Message cert)" />
+<Method value="Key DH(Key pubK, Key privK)" />
+<Method value="Message hash(Message msg)" />
+</extraparam>
+</SUBCOMPONENT>
+
+
+</AVATARBlockDiagramPanel>
+
+<AVATARStateMachineDiagramPanel name="System" minX="10" maxX="1400" minY="10" maxY="900" >
+<COMPONENT type="5100" id="987" >
+<cdparam x="400" y="50" />
+<sizeparam width="15" height="15" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
+<infoparam name="start state" value="null" />
+<TGConnectingPoint num="0" id="986" />
+</COMPONENT>
+
+
+</AVATARStateMachineDiagramPanel>
+
+<AVATARStateMachineDiagramPanel name="T1" minX="10" maxX="1400" minY="10" maxY="900" >
+<CONNECTOR type="5102" id="994" >
+<cdparam x="407" y="310" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="null" />
+<TGConnectingPoint num="0" id="993" />
+<P1  x="407" y="310" id="1065" />
+<P2  x="407" y="356" id="1024" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR><SUBCOMPONENT type="-1" id="992" >
+<father id="994" num="0" />
+<cdparam x="449" y="353" />
+<sizeparam width="10" 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="List of all parameters of an Avatar SMD transition" value="" />
+<TGConnectingPoint num="0" id="988" />
+<TGConnectingPoint num="1" id="989" />
+<TGConnectingPoint num="2" id="990" />
+<TGConnectingPoint num="3" id="991" />
+<extraparam>
+<guard value="[ ]" />
+<afterMin value="" />
+<afterMax value="" />
+<computeMin value="" />
+<computeMax value="" />
+<probability value="" />
+</extraparam>
+</SUBCOMPONENT>
+
+<CONNECTOR type="5102" id="1001" >
+<cdparam x="492" y="446" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="null" />
+<TGConnectingPoint num="0" id="1000" />
+<P1  x="407" y="406" id="1029" />
+<P2  x="407" y="451" id="1075" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR><SUBCOMPONENT type="-1" id="999" >
+<father id="1001" num="0" />
+<cdparam x="449" y="440" />
+<sizeparam width="10" 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="List of all parameters of an Avatar SMD transition" value="" />
+<TGConnectingPoint num="0" id="995" />
+<TGConnectingPoint num="1" id="996" />
+<TGConnectingPoint num="2" id="997" />
+<TGConnectingPoint num="3" id="998" />
+<extraparam>
+<guard value="[ ]" />
+<afterMin value="" />
+<afterMax value="" />
+<computeMin value="" />
+<computeMax value="" />
+<probability value="" />
+</extraparam>
+</SUBCOMPONENT>
+
+<CONNECTOR type="5102" id="1008" >
+<cdparam x="407" y="251" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector from state0 to stop state" value="null" />
+<TGConnectingPoint num="0" id="1007" />
+<P1  x="407" y="251" id="1083" />
+<P2  x="407" y="280" id="1064" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR><SUBCOMPONENT type="-1" id="1006" >
+<father id="1008" num="0" />
+<cdparam x="407" y="291" />
+<sizeparam width="10" 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="List of all parameters of an Avatar SMD transition" value="" />
+<TGConnectingPoint num="0" id="1002" />
+<TGConnectingPoint num="1" id="1003" />
+<TGConnectingPoint num="2" id="1004" />
+<TGConnectingPoint num="3" id="1005" />
+<extraparam>
+<guard value="[ ]" />
+<afterMin value="" />
+<afterMax value="" />
+<computeMin value="" />
+<computeMax value="" />
+<probability value="" />
+</extraparam>
+</SUBCOMPONENT>
+
+<CONNECTOR type="5102" id="1015" >
+<cdparam x="407" y="132" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector from state0 to state0" value="null" />
+<TGConnectingPoint num="0" id="1014" />
+<P1  x="407" y="132" id="1124" />
+<P2  x="407" y="211" id="1078" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR><SUBCOMPONENT type="-1" id="1013" >
+<father id="1015" num="0" />
+<cdparam x="415" y="162" />
+<sizeparam width="134" 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="List of all parameters of an Avatar SMD transition" value="" />
+<TGConnectingPoint num="0" id="1009" />
+<TGConnectingPoint num="1" id="1010" />
+<TGConnectingPoint num="2" id="1011" />
+<TGConnectingPoint num="3" id="1012" />
+<extraparam>
+<guard value="[ ]" />
+<afterMin value="" />
+<afterMax value="" />
+<computeMin value="" />
+<computeMax value="" />
+<probability value="" />
+<actions value="m.data = secretData" />
+<actions value="m1 = sencrypt(m, sk)" />
+</extraparam>
+</SUBCOMPONENT>
+
+<CONNECTOR type="5102" id="1022" >
+<cdparam x="407" y="70" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector from start state to state0" value="null" />
+<TGConnectingPoint num="0" id="1021" />
+<P1  x="407" y="70" id="1159" />
+<P2  x="407" y="92" id="1119" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR><SUBCOMPONENT type="-1" id="1020" >
+<father id="1022" num="0" />
+<cdparam x="407" y="110" />
+<sizeparam width="10" 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="List of all parameters of an Avatar SMD transition" value="" />
+<TGConnectingPoint num="0" id="1016" />
+<TGConnectingPoint num="1" id="1017" />
+<TGConnectingPoint num="2" id="1018" />
+<TGConnectingPoint num="3" id="1019" />
+<extraparam>
+<guard value="[ ]" />
+<afterMin value="" />
+<afterMax value="" />
+<computeMin value="" />
+<computeMax value="" />
+<probability value="" />
+</extraparam>
+</SUBCOMPONENT>
+
+<COMPONENT type="5106" id="1063" >
+<cdparam x="357" y="356" />
+<sizeparam width="100" height="50" minWidth="40" minHeight="30" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
+<infoparam name="State" value="beforeFinish" />
+<TGConnectingPoint num="0" id="1023" />
+<TGConnectingPoint num="1" id="1024" />
+<TGConnectingPoint num="2" id="1025" />
+<TGConnectingPoint num="3" id="1026" />
+<TGConnectingPoint num="4" id="1027" />
+<TGConnectingPoint num="5" id="1028" />
+<TGConnectingPoint num="6" id="1029" />
+<TGConnectingPoint num="7" id="1030" />
+<TGConnectingPoint num="8" id="1031" />
+<TGConnectingPoint num="9" id="1032" />
+<TGConnectingPoint num="10" id="1033" />
+<TGConnectingPoint num="11" id="1034" />
+<TGConnectingPoint num="12" id="1035" />
+<TGConnectingPoint num="13" id="1036" />
+<TGConnectingPoint num="14" id="1037" />
+<TGConnectingPoint num="15" id="1038" />
+<TGConnectingPoint num="16" id="1039" />
+<TGConnectingPoint num="17" id="1040" />
+<TGConnectingPoint num="18" id="1041" />
+<TGConnectingPoint num="19" id="1042" />
+<TGConnectingPoint num="20" id="1043" />
+<TGConnectingPoint num="21" id="1044" />
+<TGConnectingPoint num="22" id="1045" />
+<TGConnectingPoint num="23" id="1046" />
+<TGConnectingPoint num="24" id="1047" />
+<TGConnectingPoint num="25" id="1048" />
+<TGConnectingPoint num="26" id="1049" />
+<TGConnectingPoint num="27" id="1050" />
+<TGConnectingPoint num="28" id="1051" />
+<TGConnectingPoint num="29" id="1052" />
+<TGConnectingPoint num="30" id="1053" />
+<TGConnectingPoint num="31" id="1054" />
+<TGConnectingPoint num="32" id="1055" />
+<TGConnectingPoint num="33" id="1056" />
+<TGConnectingPoint num="34" id="1057" />
+<TGConnectingPoint num="35" id="1058" />
+<TGConnectingPoint num="36" id="1059" />
+<TGConnectingPoint num="37" id="1060" />
+<TGConnectingPoint num="38" id="1061" />
+<TGConnectingPoint num="39" id="1062" />
+<extraparam>
+</extraparam>
+</COMPONENT>
+
+<COMPONENT type="5103" id="1074" >
+<cdparam x="370" y="285" />
+<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="Send signal" value="chout(m1)" />
+<TGConnectingPoint num="0" id="1064" />
+<TGConnectingPoint num="1" id="1065" />
+<TGConnectingPoint num="2" id="1066" />
+<TGConnectingPoint num="3" id="1067" />
+<TGConnectingPoint num="4" id="1068" />
+<TGConnectingPoint num="5" id="1069" />
+<TGConnectingPoint num="6" id="1070" />
+<TGConnectingPoint num="7" id="1071" />
+<TGConnectingPoint num="8" id="1072" />
+<TGConnectingPoint num="9" id="1073" />
+</COMPONENT>
+
+<COMPONENT type="5101" id="1076" >
+<cdparam x="397" y="456" />
+<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="1075" />
+</COMPONENT>
+
+<COMPONENT type="5106" id="1117" >
+<cdparam x="336" y="211" />
+<sizeparam width="143" height="40" minWidth="40" minHeight="30" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
+<infoparam name="state0" value="sendingMessage" />
+<TGConnectingPoint num="0" id="1077" />
+<TGConnectingPoint num="1" id="1078" />
+<TGConnectingPoint num="2" id="1079" />
+<TGConnectingPoint num="3" id="1080" />
+<TGConnectingPoint num="4" id="1081" />
+<TGConnectingPoint num="5" id="1082" />
+<TGConnectingPoint num="6" id="1083" />
+<TGConnectingPoint num="7" id="1084" />
+<TGConnectingPoint num="8" id="1085" />
+<TGConnectingPoint num="9" id="1086" />
+<TGConnectingPoint num="10" id="1087" />
+<TGConnectingPoint num="11" id="1088" />
+<TGConnectingPoint num="12" id="1089" />
+<TGConnectingPoint num="13" id="1090" />
+<TGConnectingPoint num="14" id="1091" />
+<TGConnectingPoint num="15" id="1092" />
+<TGConnectingPoint num="16" id="1093" />
+<TGConnectingPoint num="17" id="1094" />
+<TGConnectingPoint num="18" id="1095" />
+<TGConnectingPoint num="19" id="1096" />
+<TGConnectingPoint num="20" id="1097" />
+<TGConnectingPoint num="21" id="1098" />
+<TGConnectingPoint num="22" id="1099" />
+<TGConnectingPoint num="23" id="1100" />
+<TGConnectingPoint num="24" id="1101" />
+<TGConnectingPoint num="25" id="1102" />
+<TGConnectingPoint num="26" id="1103" />
+<TGConnectingPoint num="27" id="1104" />
+<TGConnectingPoint num="28" id="1105" />
+<TGConnectingPoint num="29" id="1106" />
+<TGConnectingPoint num="30" id="1107" />
+<TGConnectingPoint num="31" id="1108" />
+<TGConnectingPoint num="32" id="1109" />
+<TGConnectingPoint num="33" id="1110" />
+<TGConnectingPoint num="34" id="1111" />
+<TGConnectingPoint num="35" id="1112" />
+<TGConnectingPoint num="36" id="1113" />
+<TGConnectingPoint num="37" id="1114" />
+<TGConnectingPoint num="38" id="1115" />
+<TGConnectingPoint num="39" id="1116" />
+<extraparam>
+</extraparam>
+</COMPONENT>
+
+<COMPONENT type="5106" id="1158" >
+<cdparam x="340" y="92" />
+<sizeparam width="134" height="40" minWidth="40" minHeight="30" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
+<infoparam name="state0" value="makingMessage" />
+<TGConnectingPoint num="0" id="1118" />
+<TGConnectingPoint num="1" id="1119" />
+<TGConnectingPoint num="2" id="1120" />
+<TGConnectingPoint num="3" id="1121" />
+<TGConnectingPoint num="4" id="1122" />
+<TGConnectingPoint num="5" id="1123" />
+<TGConnectingPoint num="6" id="1124" />
+<TGConnectingPoint num="7" id="1125" />
+<TGConnectingPoint num="8" id="1126" />
+<TGConnectingPoint num="9" id="1127" />
+<TGConnectingPoint num="10" id="1128" />
+<TGConnectingPoint num="11" id="1129" />
+<TGConnectingPoint num="12" id="1130" />
+<TGConnectingPoint num="13" id="1131" />
+<TGConnectingPoint num="14" id="1132" />
+<TGConnectingPoint num="15" id="1133" />
+<TGConnectingPoint num="16" id="1134" />
+<TGConnectingPoint num="17" id="1135" />
+<TGConnectingPoint num="18" id="1136" />
+<TGConnectingPoint num="19" id="1137" />
+<TGConnectingPoint num="20" id="1138" />
+<TGConnectingPoint num="21" id="1139" />
+<TGConnectingPoint num="22" id="1140" />
+<TGConnectingPoint num="23" id="1141" />
+<TGConnectingPoint num="24" id="1142" />
+<TGConnectingPoint num="25" id="1143" />
+<TGConnectingPoint num="26" id="1144" />
+<TGConnectingPoint num="27" id="1145" />
+<TGConnectingPoint num="28" id="1146" />
+<TGConnectingPoint num="29" id="1147" />
+<TGConnectingPoint num="30" id="1148" />
+<TGConnectingPoint num="31" id="1149" />
+<TGConnectingPoint num="32" id="1150" />
+<TGConnectingPoint num="33" id="1151" />
+<TGConnectingPoint num="34" id="1152" />
+<TGConnectingPoint num="35" id="1153" />
+<TGConnectingPoint num="36" id="1154" />
+<TGConnectingPoint num="37" id="1155" />
+<TGConnectingPoint num="38" id="1156" />
+<TGConnectingPoint num="39" id="1157" />
+<extraparam>
+</extraparam>
+</COMPONENT>
+
+<COMPONENT type="5100" id="1160" >
+<cdparam x="400" y="50" />
+<sizeparam width="15" height="15" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
+<infoparam name="start state" value="null" />
+<TGConnectingPoint num="0" id="1159" />
+</COMPONENT>
+
+
+</AVATARStateMachineDiagramPanel>
+
+<AVATARStateMachineDiagramPanel name="T2" minX="10" maxX="1400" minY="10" maxY="900" >
+<CONNECTOR type="5102" id="1167" >
+<cdparam x="416" y="379" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector from state0 to state0" value="null" />
+<TGConnectingPoint num="0" id="1166" />
+<P1  x="407" y="379" id="1202" />
+<P2  x="407" y="424" id="1238" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR><SUBCOMPONENT type="-1" id="1165" >
+<father id="1167" num="0" />
+<cdparam x="431" y="403" />
+<sizeparam width="145" 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="List of all parameters of an Avatar SMD transition" value="" />
+<TGConnectingPoint num="0" id="1161" />
+<TGConnectingPoint num="1" id="1162" />
+<TGConnectingPoint num="2" id="1163" />
+<TGConnectingPoint num="3" id="1164" />
+<extraparam>
+<guard value="[ ]" />
+<afterMin value="" />
+<afterMax value="" />
+<computeMin value="" />
+<computeMax value="" />
+<probability value="" />
+<actions value="receivedData = m.data" />
+</extraparam>
+</SUBCOMPONENT>
+
+<CONNECTOR type="5102" id="1174" >
+<cdparam x="407" y="273" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector from state0 to state0" value="null" />
+<TGConnectingPoint num="0" id="1173" />
+<P1  x="407" y="273" id="1284" />
+<P2  x="407" y="339" id="1197" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR><SUBCOMPONENT type="-1" id="1172" >
+<father id="1174" num="0" />
+<cdparam x="419" y="312" />
+<sizeparam width="134" 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="List of all parameters of an Avatar SMD transition" value="" />
+<TGConnectingPoint num="0" id="1168" />
+<TGConnectingPoint num="1" id="1169" />
+<TGConnectingPoint num="2" id="1170" />
+<TGConnectingPoint num="3" id="1171" />
+<extraparam>
+<guard value="[ ]" />
+<afterMin value="" />
+<afterMax value="" />
+<computeMin value="" />
+<computeMax value="" />
+<probability value="" />
+<actions value="m = sdecrypt(m2, sk)" />
+</extraparam>
+</SUBCOMPONENT>
+
+<CONNECTOR type="5102" id="1181" >
+<cdparam x="406" y="201" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector from Send signal to state0" value="null" />
+<TGConnectingPoint num="0" id="1180" />
+<P1  x="407" y="201" id="1320" />
+<P2  x="407" y="233" id="1279" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR><SUBCOMPONENT type="-1" id="1179" >
+<father id="1181" num="0" />
+<cdparam x="406" y="241" />
+<sizeparam width="10" 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="List of all parameters of an Avatar SMD transition" value="" />
+<TGConnectingPoint num="0" id="1175" />
+<TGConnectingPoint num="1" id="1176" />
+<TGConnectingPoint num="2" id="1177" />
+<TGConnectingPoint num="3" id="1178" />
+<extraparam>
+<guard value="[ ]" />
+<afterMin value="" />
+<afterMax value="" />
+<computeMin value="" />
+<computeMax value="" />
+<probability value="" />
+</extraparam>
+</SUBCOMPONENT>
+
+<CONNECTOR type="5102" id="1188" >
+<cdparam x="406" y="141" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector from state0 to Send signal" value="null" />
+<TGConnectingPoint num="0" id="1187" />
+<P1  x="407" y="141" id="1336" />
+<P2  x="407" y="171" id="1319" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR><SUBCOMPONENT type="-1" id="1186" >
+<father id="1188" num="0" />
+<cdparam x="406" y="181" />
+<sizeparam width="10" 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="List of all parameters of an Avatar SMD transition" value="" />
+<TGConnectingPoint num="0" id="1182" />
+<TGConnectingPoint num="1" id="1183" />
+<TGConnectingPoint num="2" id="1184" />
+<TGConnectingPoint num="3" id="1185" />
+<extraparam>
+<guard value="[ ]" />
+<afterMin value="" />
+<afterMax value="" />
+<computeMin value="" />
+<computeMax value="" />
+<probability value="" />
+</extraparam>
+</SUBCOMPONENT>
+
+<CONNECTOR type="5102" id="1195" >
+<cdparam x="407" y="70" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector from start state to state0" value="null" />
+<TGConnectingPoint num="0" id="1194" />
+<P1  x="407" y="70" id="1371" />
+<P2  x="407" y="102" id="1331" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR><SUBCOMPONENT type="-1" id="1193" >
+<father id="1195" num="0" />
+<cdparam x="407" y="110" />
+<sizeparam width="10" 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="List of all parameters of an Avatar SMD transition" value="" />
+<TGConnectingPoint num="0" id="1189" />
+<TGConnectingPoint num="1" id="1190" />
+<TGConnectingPoint num="2" id="1191" />
+<TGConnectingPoint num="3" id="1192" />
+<extraparam>
+<guard value="[ ]" />
+<afterMin value="" />
+<afterMax value="" />
+<computeMin value="" />
+<computeMax value="" />
+<probability value="" />
+</extraparam>
+</SUBCOMPONENT>
+
+<COMPONENT type="5106" id="1236" >
+<cdparam x="318" y="339" />
+<sizeparam width="178" height="40" minWidth="40" minHeight="30" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
+<infoparam name="state0" value="messageDecrypted" />
+<TGConnectingPoint num="0" id="1196" />
+<TGConnectingPoint num="1" id="1197" />
+<TGConnectingPoint num="2" id="1198" />
+<TGConnectingPoint num="3" id="1199" />
+<TGConnectingPoint num="4" id="1200" />
+<TGConnectingPoint num="5" id="1201" />
+<TGConnectingPoint num="6" id="1202" />
+<TGConnectingPoint num="7" id="1203" />
+<TGConnectingPoint num="8" id="1204" />
+<TGConnectingPoint num="9" id="1205" />
+<TGConnectingPoint num="10" id="1206" />
+<TGConnectingPoint num="11" id="1207" />
+<TGConnectingPoint num="12" id="1208" />
+<TGConnectingPoint num="13" id="1209" />
+<TGConnectingPoint num="14" id="1210" />
+<TGConnectingPoint num="15" id="1211" />
+<TGConnectingPoint num="16" id="1212" />
+<TGConnectingPoint num="17" id="1213" />
+<TGConnectingPoint num="18" id="1214" />
+<TGConnectingPoint num="19" id="1215" />
+<TGConnectingPoint num="20" id="1216" />
+<TGConnectingPoint num="21" id="1217" />
+<TGConnectingPoint num="22" id="1218" />
+<TGConnectingPoint num="23" id="1219" />
+<TGConnectingPoint num="24" id="1220" />
+<TGConnectingPoint num="25" id="1221" />
+<TGConnectingPoint num="26" id="1222" />
+<TGConnectingPoint num="27" id="1223" />
+<TGConnectingPoint num="28" id="1224" />
+<TGConnectingPoint num="29" id="1225" />
+<TGConnectingPoint num="30" id="1226" />
+<TGConnectingPoint num="31" id="1227" />
+<TGConnectingPoint num="32" id="1228" />
+<TGConnectingPoint num="33" id="1229" />
+<TGConnectingPoint num="34" id="1230" />
+<TGConnectingPoint num="35" id="1231" />
+<TGConnectingPoint num="36" id="1232" />
+<TGConnectingPoint num="37" id="1233" />
+<TGConnectingPoint num="38" id="1234" />
+<TGConnectingPoint num="39" id="1235" />
+<extraparam>
+</extraparam>
+</COMPONENT>
+
+<COMPONENT type="5106" id="1277" >
+<cdparam x="337" y="424" />
+<sizeparam width="140" height="40" minWidth="40" minHeight="30" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
+<infoparam name="state0" value="SecretDataReceived" />
+<TGConnectingPoint num="0" id="1237" />
+<TGConnectingPoint num="1" id="1238" />
+<TGConnectingPoint num="2" id="1239" />
+<TGConnectingPoint num="3" id="1240" />
+<TGConnectingPoint num="4" id="1241" />
+<TGConnectingPoint num="5" id="1242" />
+<TGConnectingPoint num="6" id="1243" />
+<TGConnectingPoint num="7" id="1244" />
+<TGConnectingPoint num="8" id="1245" />
+<TGConnectingPoint num="9" id="1246" />
+<TGConnectingPoint num="10" id="1247" />
+<TGConnectingPoint num="11" id="1248" />
+<TGConnectingPoint num="12" id="1249" />
+<TGConnectingPoint num="13" id="1250" />
+<TGConnectingPoint num="14" id="1251" />
+<TGConnectingPoint num="15" id="1252" />
+<TGConnectingPoint num="16" id="1253" />
+<TGConnectingPoint num="17" id="1254" />
+<TGConnectingPoint num="18" id="1255" />
+<TGConnectingPoint num="19" id="1256" />
+<TGConnectingPoint num="20" id="1257" />
+<TGConnectingPoint num="21" id="1258" />
+<TGConnectingPoint num="22" id="1259" />
+<TGConnectingPoint num="23" id="1260" />
+<TGConnectingPoint num="24" id="1261" />
+<TGConnectingPoint num="25" id="1262" />
+<TGConnectingPoint num="26" id="1263" />
+<TGConnectingPoint num="27" id="1264" />
+<TGConnectingPoint num="28" id="1265" />
+<TGConnectingPoint num="29" id="1266" />
+<TGConnectingPoint num="30" id="1267" />
+<TGConnectingPoint num="31" id="1268" />
+<TGConnectingPoint num="32" id="1269" />
+<TGConnectingPoint num="33" id="1270" />
+<TGConnectingPoint num="34" id="1271" />
+<TGConnectingPoint num="35" id="1272" />
+<TGConnectingPoint num="36" id="1273" />
+<TGConnectingPoint num="37" id="1274" />
+<TGConnectingPoint num="38" id="1275" />
+<TGConnectingPoint num="39" id="1276" />
+<extraparam>
+</extraparam>
+</COMPONENT>
+
+<COMPONENT type="5106" id="1318" >
+<cdparam x="336" y="233" />
+<sizeparam width="142" height="40" minWidth="40" minHeight="30" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
+<infoparam name="state0" value="messageDecrypt" />
+<TGConnectingPoint num="0" id="1278" />
+<TGConnectingPoint num="1" id="1279" />
+<TGConnectingPoint num="2" id="1280" />
+<TGConnectingPoint num="3" id="1281" />
+<TGConnectingPoint num="4" id="1282" />
+<TGConnectingPoint num="5" id="1283" />
+<TGConnectingPoint num="6" id="1284" />
+<TGConnectingPoint num="7" id="1285" />
+<TGConnectingPoint num="8" id="1286" />
+<TGConnectingPoint num="9" id="1287" />
+<TGConnectingPoint num="10" id="1288" />
+<TGConnectingPoint num="11" id="1289" />
+<TGConnectingPoint num="12" id="1290" />
+<TGConnectingPoint num="13" id="1291" />
+<TGConnectingPoint num="14" id="1292" />
+<TGConnectingPoint num="15" id="1293" />
+<TGConnectingPoint num="16" id="1294" />
+<TGConnectingPoint num="17" id="1295" />
+<TGConnectingPoint num="18" id="1296" />
+<TGConnectingPoint num="19" id="1297" />
+<TGConnectingPoint num="20" id="1298" />
+<TGConnectingPoint num="21" id="1299" />
+<TGConnectingPoint num="22" id="1300" />
+<TGConnectingPoint num="23" id="1301" />
+<TGConnectingPoint num="24" id="1302" />
+<TGConnectingPoint num="25" id="1303" />
+<TGConnectingPoint num="26" id="1304" />
+<TGConnectingPoint num="27" id="1305" />
+<TGConnectingPoint num="28" id="1306" />
+<TGConnectingPoint num="29" id="1307" />
+<TGConnectingPoint num="30" id="1308" />
+<TGConnectingPoint num="31" id="1309" />
+<TGConnectingPoint num="32" id="1310" />
+<TGConnectingPoint num="33" id="1311" />
+<TGConnectingPoint num="34" id="1312" />
+<TGConnectingPoint num="35" id="1313" />
+<TGConnectingPoint num="36" id="1314" />
+<TGConnectingPoint num="37" id="1315" />
+<TGConnectingPoint num="38" id="1316" />
+<TGConnectingPoint num="39" id="1317" />
+<extraparam>
+</extraparam>
+</COMPONENT>
+
+<COMPONENT type="5104" id="1329" >
+<cdparam x="371" y="176" />
+<sizeparam width="73" 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 signal" value="chin(m2)" />
+<TGConnectingPoint num="0" id="1319" />
+<TGConnectingPoint num="1" id="1320" />
+<TGConnectingPoint num="2" id="1321" />
+<TGConnectingPoint num="3" id="1322" />
+<TGConnectingPoint num="4" id="1323" />
+<TGConnectingPoint num="5" id="1324" />
+<TGConnectingPoint num="6" id="1325" />
+<TGConnectingPoint num="7" id="1326" />
+<TGConnectingPoint num="8" id="1327" />
+<TGConnectingPoint num="9" id="1328" />
+</COMPONENT>
+
+<COMPONENT type="5106" id="1370" >
+<cdparam x="333" y="102" />
+<sizeparam width="149" height="39" minWidth="40" minHeight="30" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
+<infoparam name="state0" value="waitingForMessage" />
+<TGConnectingPoint num="0" id="1330" />
+<TGConnectingPoint num="1" id="1331" />
+<TGConnectingPoint num="2" id="1332" />
+<TGConnectingPoint num="3" id="1333" />
+<TGConnectingPoint num="4" id="1334" />
+<TGConnectingPoint num="5" id="1335" />
+<TGConnectingPoint num="6" id="1336" />
+<TGConnectingPoint num="7" id="1337" />
+<TGConnectingPoint num="8" id="1338" />
+<TGConnectingPoint num="9" id="1339" />
+<TGConnectingPoint num="10" id="1340" />
+<TGConnectingPoint num="11" id="1341" />
+<TGConnectingPoint num="12" id="1342" />
+<TGConnectingPoint num="13" id="1343" />
+<TGConnectingPoint num="14" id="1344" />
+<TGConnectingPoint num="15" id="1345" />
+<TGConnectingPoint num="16" id="1346" />
+<TGConnectingPoint num="17" id="1347" />
+<TGConnectingPoint num="18" id="1348" />
+<TGConnectingPoint num="19" id="1349" />
+<TGConnectingPoint num="20" id="1350" />
+<TGConnectingPoint num="21" id="1351" />
+<TGConnectingPoint num="22" id="1352" />
+<TGConnectingPoint num="23" id="1353" />
+<TGConnectingPoint num="24" id="1354" />
+<TGConnectingPoint num="25" id="1355" />
+<TGConnectingPoint num="26" id="1356" />
+<TGConnectingPoint num="27" id="1357" />
+<TGConnectingPoint num="28" id="1358" />
+<TGConnectingPoint num="29" id="1359" />
+<TGConnectingPoint num="30" id="1360" />
+<TGConnectingPoint num="31" id="1361" />
+<TGConnectingPoint num="32" id="1362" />
+<TGConnectingPoint num="33" id="1363" />
+<TGConnectingPoint num="34" id="1364" />
+<TGConnectingPoint num="35" id="1365" />
+<TGConnectingPoint num="36" id="1366" />
+<TGConnectingPoint num="37" id="1367" />
+<TGConnectingPoint num="38" id="1368" />
+<TGConnectingPoint num="39" id="1369" />
+<extraparam>
+</extraparam>
+</COMPONENT>
+
+<COMPONENT type="5100" id="1372" >
+<cdparam x="400" y="50" />
+<sizeparam width="15" height="15" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" />
+<infoparam name="start state" value="null" />
+<TGConnectingPoint num="0" id="1371" />
+</COMPONENT>
+
+
+</AVATARStateMachineDiagramPanel>
+
+</Modeling>
+
+
+
+
+</TURTLEGMODELING>
\ No newline at end of file
diff --git a/modeling/testforkandjoin.xml b/modeling/testforkandjoin.xml
new file mode 100644
index 0000000000000000000000000000000000000000..f79ec47ac555f8a44ceaecd6d64a524089754fa7
--- /dev/null
+++ b/modeling/testforkandjoin.xml
@@ -0,0 +1,2293 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+
+<TURTLEGMODELING version="1.0beta">
+
+<Modeling type="TML Component Design" nameTab="FVFork" >
+<TMLComponentTaskDiagramPanel name="TML Component Task Diagram" minX="10" maxX="2500" minY="10" maxY="1500" channels="true" events="true" requests="true" zoom="1.0" >
+<CONNECTOR type="126" id="1" >
+<cdparam x="418" y="288" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="Connector between ports" />
+<P1  x="418" y="288" id="5" />
+<P2  x="521" y="399" id="20" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<CONNECTOR type="126" id="2" >
+<cdparam x="412" y="279" />
+<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="412" y="279" id="7" />
+<P2  x="525" y="159" id="31" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<CONNECTOR type="126" id="3" >
+<cdparam x="292" y="261" />
+<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="279" y="248" id="42" />
+<P2  x="396" y="288" id="4" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<COMPONENT type="1207" id="19" >
+<cdparam x="396" y="277" />
+<sizeparam width="22" height="22" minWidth="10" minHeight="10" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="Composite port" value="F" />
+<TGConnectingPoint num="0" id="4" />
+<TGConnectingPoint num="1" id="5" />
+<TGConnectingPoint num="2" id="6" />
+<TGConnectingPoint num="3" id="7" />
+<TGConnectingPoint num="4" id="8" />
+<TGConnectingPoint num="5" id="9" />
+<TGConnectingPoint num="6" id="10" />
+<TGConnectingPoint num="7" id="11" />
+<TGConnectingPoint num="8" id="12" />
+<TGConnectingPoint num="9" id="13" />
+<TGConnectingPoint num="10" id="14" />
+<TGConnectingPoint num="11" id="15" />
+<TGConnectingPoint num="12" id="16" />
+<TGConnectingPoint num="13" id="17" />
+<TGConnectingPoint num="14" id="18" />
+</COMPONENT>
+
+<COMPONENT type="1202" id="30" >
+<cdparam x="521" y="340" />
+<sizeparam width="200" height="150" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="Primitive component" value="Dest2" />
+<TGConnectingPoint num="0" id="22" />
+<TGConnectingPoint num="1" id="23" />
+<TGConnectingPoint num="2" id="24" />
+<TGConnectingPoint num="3" id="25" />
+<TGConnectingPoint num="4" id="26" />
+<TGConnectingPoint num="5" id="27" />
+<TGConnectingPoint num="6" id="28" />
+<TGConnectingPoint num="7" id="29" />
+<extraparam>
+<Data isAttacker="No" />
+</extraparam>
+</COMPONENT>
+<SUBCOMPONENT type="1203" id="21" >
+<father id="30" num="0" />
+<cdparam x="508" y="399" />
+<sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="-13" maxX="187" minY="-13" maxY="137" />
+<infoparam name="Primitive port" value="Channel chfork2" />
+<TGConnectingPoint num="0" id="20" />
+<extraparam>
+<Prop commName="chfork2" commType="0" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+</extraparam>
+</SUBCOMPONENT>
+
+<COMPONENT type="1202" id="41" >
+<cdparam x="525" y="103" />
+<sizeparam width="200" height="150" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="Primitive component" value="Dest1" />
+<TGConnectingPoint num="0" id="33" />
+<TGConnectingPoint num="1" id="34" />
+<TGConnectingPoint num="2" id="35" />
+<TGConnectingPoint num="3" id="36" />
+<TGConnectingPoint num="4" id="37" />
+<TGConnectingPoint num="5" id="38" />
+<TGConnectingPoint num="6" id="39" />
+<TGConnectingPoint num="7" id="40" />
+<extraparam>
+<Data isAttacker="No" />
+</extraparam>
+</COMPONENT>
+<SUBCOMPONENT type="1203" id="32" >
+<father id="41" num="0" />
+<cdparam x="512" y="159" />
+<sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="-13" maxX="187" minY="-13" maxY="137" />
+<infoparam name="Primitive port" value="Channel chfork1" />
+<TGConnectingPoint num="0" id="31" />
+<extraparam>
+<Prop commName="chfork1" commType="0" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="int16_t" associatedEvent="" checkConf="true" checkConfStatus="1" 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>
+
+<COMPONENT type="1202" id="52" >
+<cdparam x="79" y="162" />
+<sizeparam width="200" height="150" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="Primitive component" value="src" />
+<TGConnectingPoint num="0" id="44" />
+<TGConnectingPoint num="1" id="45" />
+<TGConnectingPoint num="2" id="46" />
+<TGConnectingPoint num="3" id="47" />
+<TGConnectingPoint num="4" id="48" />
+<TGConnectingPoint num="5" id="49" />
+<TGConnectingPoint num="6" id="50" />
+<TGConnectingPoint num="7" id="51" />
+<extraparam>
+<Data isAttacker="No" />
+</extraparam>
+</COMPONENT>
+<SUBCOMPONENT type="1203" id="43" >
+<father id="52" num="0" />
+<cdparam x="266" 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="187" minY="-13" maxY="137" />
+<infoparam name="Primitive port" value="Channel chfork" />
+<TGConnectingPoint num="0" id="42" />
+<extraparam>
+<Prop commName="chfork" commType="0" origin="true" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+</extraparam>
+</SUBCOMPONENT>
+
+
+</TMLComponentTaskDiagramPanel>
+
+<TMLActivityDiagramPanel name="Dest2" minX="10" maxX="2500" minY="10" maxY="1500" >
+<COMPONENT type="1001" id="54" >
+<cdparam x="394" y="190" />
+<sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="stop state" value="null" />
+<TGConnectingPoint num="0" id="53" />
+</COMPONENT>
+
+<COMPONENT type="1009" id="57" >
+<cdparam x="377" y="113" />
+<sizeparam width="74" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="read channel" value="chfork2(5) " />
+<TGConnectingPoint num="0" id="55" />
+<TGConnectingPoint num="1" id="56" />
+<extraparam>
+<Data channelName="chfork2" nbOfSamples="5" secPattern="" isAttacker="No" />
+</extraparam>
+</COMPONENT>
+
+<COMPONENT type="1000" id="59" >
+<cdparam x="400" y="50" />
+<sizeparam width="15" height="15" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="start state" value="null" />
+<TGConnectingPoint num="0" id="58" />
+</COMPONENT>
+
+<CONNECTOR type="115" id="60" >
+<cdparam x="407" y="70" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="null" />
+<P1  x="407" y="70" id="58" />
+<P2  x="414" y="108" id="55" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<CONNECTOR type="115" id="61" >
+<cdparam x="414" y="138" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="null" />
+<P1  x="414" y="138" id="56" />
+<P2  x="404" y="185" id="53" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+
+</TMLActivityDiagramPanel>
+
+<TMLActivityDiagramPanel name="Dest1" minX="10" maxX="2500" minY="10" maxY="1500" >
+<COMPONENT type="1001" id="63" >
+<cdparam x="420" y="183" />
+<sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="stop state" value="null" />
+<TGConnectingPoint num="0" id="62" />
+</COMPONENT>
+
+<COMPONENT type="1009" id="66" >
+<cdparam x="382" y="110" />
+<sizeparam width="74" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="read channel" value="chfork1(5) " />
+<TGConnectingPoint num="0" id="64" />
+<TGConnectingPoint num="1" id="65" />
+<extraparam>
+<Data channelName="chfork1" nbOfSamples="5" secPattern="" isAttacker="No" />
+</extraparam>
+</COMPONENT>
+
+<COMPONENT type="1000" id="68" >
+<cdparam x="400" y="50" />
+<sizeparam width="15" height="15" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="start state" value="null" />
+<TGConnectingPoint num="0" id="67" />
+</COMPONENT>
+
+<CONNECTOR type="115" id="69" >
+<cdparam x="407" y="70" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="null" />
+<P1  x="407" y="70" id="67" />
+<P2  x="419" y="105" id="64" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<CONNECTOR type="115" id="70" >
+<cdparam x="419" y="135" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="null" />
+<P1  x="419" y="135" id="65" />
+<P2  x="430" y="178" id="62" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+
+</TMLActivityDiagramPanel>
+
+<TMLActivityDiagramPanel name="src" minX="10" maxX="2500" minY="10" maxY="1500" >
+<COMPONENT type="1001" id="72" >
+<cdparam x="413" y="181" />
+<sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="stop state" value="null" />
+<TGConnectingPoint num="0" id="71" />
+</COMPONENT>
+
+<COMPONENT type="1006" id="75" >
+<cdparam x="382" y="112" />
+<sizeparam width="62" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="write channel" value="chfork(5)" />
+<TGConnectingPoint num="0" id="73" />
+<TGConnectingPoint num="1" id="74" />
+<extraparam>
+<Data channelName="chfork" nbOfSamples="5" secPattern="" isAttacker="No" />
+</extraparam>
+</COMPONENT>
+
+<COMPONENT type="1000" id="77" >
+<cdparam x="400" y="50" />
+<sizeparam width="15" height="15" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="start state" value="null" />
+<TGConnectingPoint num="0" id="76" />
+</COMPONENT>
+
+<CONNECTOR type="115" id="78" >
+<cdparam x="407" y="70" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="null" />
+<P1  x="407" y="70" id="76" />
+<P2  x="413" y="107" id="73" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<CONNECTOR type="115" id="79" >
+<cdparam x="413" y="137" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="null" />
+<P1  x="413" y="137" id="74" />
+<P2  x="423" y="176" id="71" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+
+</TMLActivityDiagramPanel>
+
+</Modeling>
+
+
+
+
+<Modeling type="TML Architecture" nameTab="ArchitectureFork" >
+<TMLArchiDiagramPanel name="DIPLODOCUS architecture and mapping Diagram" minX="10" maxX="2500" minY="10" maxY="1500" attributes="0" masterClockFrequency="200" >
+<COMPONENT type="1106" id="104" >
+<cdparam x="807" y="540" />
+<sizeparam width="190" height="60" minWidth="100" minHeight="35" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="BridgeDest2" value="name" />
+<TGConnectingPoint num="0" id="80" />
+<TGConnectingPoint num="1" id="81" />
+<TGConnectingPoint num="2" id="82" />
+<TGConnectingPoint num="3" id="83" />
+<TGConnectingPoint num="4" id="84" />
+<TGConnectingPoint num="5" id="85" />
+<TGConnectingPoint num="6" id="86" />
+<TGConnectingPoint num="7" id="87" />
+<TGConnectingPoint num="8" id="88" />
+<TGConnectingPoint num="9" id="89" />
+<TGConnectingPoint num="10" id="90" />
+<TGConnectingPoint num="11" id="91" />
+<TGConnectingPoint num="12" id="92" />
+<TGConnectingPoint num="13" id="93" />
+<TGConnectingPoint num="14" id="94" />
+<TGConnectingPoint num="15" id="95" />
+<TGConnectingPoint num="16" id="96" />
+<TGConnectingPoint num="17" id="97" />
+<TGConnectingPoint num="18" id="98" />
+<TGConnectingPoint num="19" id="99" />
+<TGConnectingPoint num="20" id="100" />
+<TGConnectingPoint num="21" id="101" />
+<TGConnectingPoint num="22" id="102" />
+<TGConnectingPoint num="23" id="103" />
+<extraparam>
+<info stereotype="BRIDGE" nodeName="BridgeDest2" />
+<attributes bufferByteDataSize="4"  clockRatio="1" />
+</extraparam>
+</COMPONENT>
+
+<COMPONENT type="1105" id="129" >
+<cdparam x="70" y="489" />
+<sizeparam width="229" height="147" minWidth="100" minHeight="35" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="MemorySrc" value="name" />
+<TGConnectingPoint num="0" id="105" />
+<TGConnectingPoint num="1" id="106" />
+<TGConnectingPoint num="2" id="107" />
+<TGConnectingPoint num="3" id="108" />
+<TGConnectingPoint num="4" id="109" />
+<TGConnectingPoint num="5" id="110" />
+<TGConnectingPoint num="6" id="111" />
+<TGConnectingPoint num="7" id="112" />
+<TGConnectingPoint num="8" id="113" />
+<TGConnectingPoint num="9" id="114" />
+<TGConnectingPoint num="10" id="115" />
+<TGConnectingPoint num="11" id="116" />
+<TGConnectingPoint num="12" id="117" />
+<TGConnectingPoint num="13" id="118" />
+<TGConnectingPoint num="14" id="119" />
+<TGConnectingPoint num="15" id="120" />
+<TGConnectingPoint num="16" id="121" />
+<TGConnectingPoint num="17" id="122" />
+<TGConnectingPoint num="18" id="123" />
+<TGConnectingPoint num="19" id="124" />
+<TGConnectingPoint num="20" id="125" />
+<TGConnectingPoint num="21" id="126" />
+<TGConnectingPoint num="22" id="127" />
+<TGConnectingPoint num="23" id="128" />
+<extraparam>
+<info stereotype="MEMORY" nodeName="MemorySrc" />
+<attributes byteDataSize="4"  memorySize="1024"  clockRatio="1"  bufferType="0" />
+</extraparam>
+</COMPONENT>
+
+<COMPONENT type="1102" id="154" >
+<cdparam x="354" y="445" />
+<sizeparam width="250" height="50" minWidth="100" minHeight="50" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="BusSrc" value="name" />
+<TGConnectingPoint num="0" id="130" />
+<TGConnectingPoint num="1" id="131" />
+<TGConnectingPoint num="2" id="132" />
+<TGConnectingPoint num="3" id="133" />
+<TGConnectingPoint num="4" id="134" />
+<TGConnectingPoint num="5" id="135" />
+<TGConnectingPoint num="6" id="136" />
+<TGConnectingPoint num="7" id="137" />
+<TGConnectingPoint num="8" id="138" />
+<TGConnectingPoint num="9" id="139" />
+<TGConnectingPoint num="10" id="140" />
+<TGConnectingPoint num="11" id="141" />
+<TGConnectingPoint num="12" id="142" />
+<TGConnectingPoint num="13" id="143" />
+<TGConnectingPoint num="14" id="144" />
+<TGConnectingPoint num="15" id="145" />
+<TGConnectingPoint num="16" id="146" />
+<TGConnectingPoint num="17" id="147" />
+<TGConnectingPoint num="18" id="148" />
+<TGConnectingPoint num="19" id="149" />
+<TGConnectingPoint num="20" id="150" />
+<TGConnectingPoint num="21" id="151" />
+<TGConnectingPoint num="22" id="152" />
+<TGConnectingPoint num="23" id="153" />
+<extraparam>
+<info stereotype="BUS-RR" nodeName="BusSrc" />
+<attributes byteDataSize="4"  arbitrationPolicy="0"  sliceTime="10000"  pipelineSize="1"  clockRatio="1"  privacy="0"  referenceAttack="null" />
+</extraparam>
+</COMPONENT>
+
+<COMPONENT type="1106" id="179" >
+<cdparam x="809" y="390" />
+<sizeparam width="155" height="62" minWidth="100" minHeight="35" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="BridgeDest1" value="name" />
+<TGConnectingPoint num="0" id="155" />
+<TGConnectingPoint num="1" id="156" />
+<TGConnectingPoint num="2" id="157" />
+<TGConnectingPoint num="3" id="158" />
+<TGConnectingPoint num="4" id="159" />
+<TGConnectingPoint num="5" id="160" />
+<TGConnectingPoint num="6" id="161" />
+<TGConnectingPoint num="7" id="162" />
+<TGConnectingPoint num="8" id="163" />
+<TGConnectingPoint num="9" id="164" />
+<TGConnectingPoint num="10" id="165" />
+<TGConnectingPoint num="11" id="166" />
+<TGConnectingPoint num="12" id="167" />
+<TGConnectingPoint num="13" id="168" />
+<TGConnectingPoint num="14" id="169" />
+<TGConnectingPoint num="15" id="170" />
+<TGConnectingPoint num="16" id="171" />
+<TGConnectingPoint num="17" id="172" />
+<TGConnectingPoint num="18" id="173" />
+<TGConnectingPoint num="19" id="174" />
+<TGConnectingPoint num="20" id="175" />
+<TGConnectingPoint num="21" id="176" />
+<TGConnectingPoint num="22" id="177" />
+<TGConnectingPoint num="23" id="178" />
+<extraparam>
+<info stereotype="BRIDGE" nodeName="BridgeDest1" />
+<attributes bufferByteDataSize="4"  clockRatio="1" />
+</extraparam>
+</COMPONENT>
+
+<COMPONENT type="1100" id="213" >
+<cdparam x="96" y="251" />
+<sizeparam width="204" height="100" minWidth="150" minHeight="100" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="CPUSrc" value="name" />
+<TGConnectingPoint num="0" id="189" />
+<TGConnectingPoint num="1" id="190" />
+<TGConnectingPoint num="2" id="191" />
+<TGConnectingPoint num="3" id="192" />
+<TGConnectingPoint num="4" id="193" />
+<TGConnectingPoint num="5" id="194" />
+<TGConnectingPoint num="6" id="195" />
+<TGConnectingPoint num="7" id="196" />
+<TGConnectingPoint num="8" id="197" />
+<TGConnectingPoint num="9" id="198" />
+<TGConnectingPoint num="10" id="199" />
+<TGConnectingPoint num="11" id="200" />
+<TGConnectingPoint num="12" id="201" />
+<TGConnectingPoint num="13" id="202" />
+<TGConnectingPoint num="14" id="203" />
+<TGConnectingPoint num="15" id="204" />
+<TGConnectingPoint num="16" id="205" />
+<TGConnectingPoint num="17" id="206" />
+<TGConnectingPoint num="18" id="207" />
+<TGConnectingPoint num="19" id="208" />
+<TGConnectingPoint num="20" id="209" />
+<TGConnectingPoint num="21" id="210" />
+<TGConnectingPoint num="22" id="211" />
+<TGConnectingPoint num="23" id="212" />
+<extraparam>
+<info stereotype="CPURR" nodeName="CPUSrc" />
+<attributes nbOfCores="1" byteDataSize="4"  schedulingPolicy="0"  sliceTime="10000"  goIdleTime="10"  maxConsecutiveIdleCycles="10"  pipelineSize="5"  taskSwitchingTime="20"  branchingPredictionPenalty="2"  cacheMiss="5" execiTime="1" execcTime="1" clockRatio="1" MECType="0" encryption="0"/>
+</extraparam>
+</COMPONENT>
+<SUBCOMPONENT type="1101" id="188" >
+<father id="213" num="0" />
+<cdparam x="105" y="292" />
+<sizeparam width="100" height="40" minWidth="100" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="0" maxX="104" minY="0" maxY="60" />
+<infoparam name="TGComponent" value="FVFork::src" />
+<TGConnectingPoint num="0" id="180" />
+<TGConnectingPoint num="1" id="181" />
+<TGConnectingPoint num="2" id="182" />
+<TGConnectingPoint num="3" id="183" />
+<TGConnectingPoint num="4" id="184" />
+<TGConnectingPoint num="5" id="185" />
+<TGConnectingPoint num="6" id="186" />
+<TGConnectingPoint num="7" id="187" />
+<extraparam>
+<info value="FVFork::src" taskName="src" referenceTaskName="FVFork" priority="0" operation="T0" fatherComponentMECType="0" />
+</extraparam>
+</SUBCOMPONENT>
+
+<COMPONENT type="1100" id="247" >
+<cdparam x="1327" y="620" />
+<sizeparam width="250" height="200" minWidth="150" minHeight="100" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="CPUDest2" value="name" />
+<TGConnectingPoint num="0" id="223" />
+<TGConnectingPoint num="1" id="224" />
+<TGConnectingPoint num="2" id="225" />
+<TGConnectingPoint num="3" id="226" />
+<TGConnectingPoint num="4" id="227" />
+<TGConnectingPoint num="5" id="228" />
+<TGConnectingPoint num="6" id="229" />
+<TGConnectingPoint num="7" id="230" />
+<TGConnectingPoint num="8" id="231" />
+<TGConnectingPoint num="9" id="232" />
+<TGConnectingPoint num="10" id="233" />
+<TGConnectingPoint num="11" id="234" />
+<TGConnectingPoint num="12" id="235" />
+<TGConnectingPoint num="13" id="236" />
+<TGConnectingPoint num="14" id="237" />
+<TGConnectingPoint num="15" id="238" />
+<TGConnectingPoint num="16" id="239" />
+<TGConnectingPoint num="17" id="240" />
+<TGConnectingPoint num="18" id="241" />
+<TGConnectingPoint num="19" id="242" />
+<TGConnectingPoint num="20" id="243" />
+<TGConnectingPoint num="21" id="244" />
+<TGConnectingPoint num="22" id="245" />
+<TGConnectingPoint num="23" id="246" />
+<extraparam>
+<info stereotype="CPURR" nodeName="CPUDest2" />
+<attributes nbOfCores="1" byteDataSize="4"  schedulingPolicy="0"  sliceTime="10000"  goIdleTime="10"  maxConsecutiveIdleCycles="10"  pipelineSize="5"  taskSwitchingTime="20"  branchingPredictionPenalty="2"  cacheMiss="5" execiTime="1" execcTime="1" clockRatio="1" MECType="0" encryption="0"/>
+</extraparam>
+</COMPONENT>
+<SUBCOMPONENT type="1101" id="222" >
+<father id="247" num="0" />
+<cdparam x="1349" y="701" />
+<sizeparam width="116" height="40" minWidth="100" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="0" maxX="134" minY="0" maxY="160" />
+<infoparam name="TGComponent" value="FVFork::Dest2" />
+<TGConnectingPoint num="0" id="214" />
+<TGConnectingPoint num="1" id="215" />
+<TGConnectingPoint num="2" id="216" />
+<TGConnectingPoint num="3" id="217" />
+<TGConnectingPoint num="4" id="218" />
+<TGConnectingPoint num="5" id="219" />
+<TGConnectingPoint num="6" id="220" />
+<TGConnectingPoint num="7" id="221" />
+<extraparam>
+<info value="FVFork::Dest2" taskName="Dest2" referenceTaskName="FVFork" priority="0" operation="T0" fatherComponentMECType="0" />
+</extraparam>
+</SUBCOMPONENT>
+
+<COMPONENT type="1100" id="281" >
+<cdparam x="1152" y="145" />
+<sizeparam width="237" height="106" minWidth="150" minHeight="100" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="CPUDest1" value="name" />
+<TGConnectingPoint num="0" id="257" />
+<TGConnectingPoint num="1" id="258" />
+<TGConnectingPoint num="2" id="259" />
+<TGConnectingPoint num="3" id="260" />
+<TGConnectingPoint num="4" id="261" />
+<TGConnectingPoint num="5" id="262" />
+<TGConnectingPoint num="6" id="263" />
+<TGConnectingPoint num="7" id="264" />
+<TGConnectingPoint num="8" id="265" />
+<TGConnectingPoint num="9" id="266" />
+<TGConnectingPoint num="10" id="267" />
+<TGConnectingPoint num="11" id="268" />
+<TGConnectingPoint num="12" id="269" />
+<TGConnectingPoint num="13" id="270" />
+<TGConnectingPoint num="14" id="271" />
+<TGConnectingPoint num="15" id="272" />
+<TGConnectingPoint num="16" id="273" />
+<TGConnectingPoint num="17" id="274" />
+<TGConnectingPoint num="18" id="275" />
+<TGConnectingPoint num="19" id="276" />
+<TGConnectingPoint num="20" id="277" />
+<TGConnectingPoint num="21" id="278" />
+<TGConnectingPoint num="22" id="279" />
+<TGConnectingPoint num="23" id="280" />
+<extraparam>
+<info stereotype="CPURR" nodeName="CPUDest1" />
+<attributes nbOfCores="1" byteDataSize="4"  schedulingPolicy="0"  sliceTime="10000"  goIdleTime="10"  maxConsecutiveIdleCycles="10"  pipelineSize="5"  taskSwitchingTime="20"  branchingPredictionPenalty="2"  cacheMiss="5" execiTime="1" execcTime="1" clockRatio="1" MECType="0" encryption="0"/>
+</extraparam>
+</COMPONENT>
+<SUBCOMPONENT type="1101" id="256" >
+<father id="281" num="0" />
+<cdparam x="1165" y="190" />
+<sizeparam width="116" height="40" minWidth="100" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="0" maxX="121" minY="0" maxY="66" />
+<infoparam name="TGComponent" value="FVFork::Dest1" />
+<TGConnectingPoint num="0" id="248" />
+<TGConnectingPoint num="1" id="249" />
+<TGConnectingPoint num="2" id="250" />
+<TGConnectingPoint num="3" id="251" />
+<TGConnectingPoint num="4" id="252" />
+<TGConnectingPoint num="5" id="253" />
+<TGConnectingPoint num="6" id="254" />
+<TGConnectingPoint num="7" id="255" />
+<extraparam>
+<info value="FVFork::Dest1" taskName="Dest1" referenceTaskName="FVFork" priority="0" operation="T0" fatherComponentMECType="0" />
+</extraparam>
+</SUBCOMPONENT>
+
+<COMPONENT type="1102" id="306" >
+<cdparam x="952" y="681" />
+<sizeparam width="250" height="50" minWidth="100" minHeight="50" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="BusDest2" value="name" />
+<TGConnectingPoint num="0" id="282" />
+<TGConnectingPoint num="1" id="283" />
+<TGConnectingPoint num="2" id="284" />
+<TGConnectingPoint num="3" id="285" />
+<TGConnectingPoint num="4" id="286" />
+<TGConnectingPoint num="5" id="287" />
+<TGConnectingPoint num="6" id="288" />
+<TGConnectingPoint num="7" id="289" />
+<TGConnectingPoint num="8" id="290" />
+<TGConnectingPoint num="9" id="291" />
+<TGConnectingPoint num="10" id="292" />
+<TGConnectingPoint num="11" id="293" />
+<TGConnectingPoint num="12" id="294" />
+<TGConnectingPoint num="13" id="295" />
+<TGConnectingPoint num="14" id="296" />
+<TGConnectingPoint num="15" id="297" />
+<TGConnectingPoint num="16" id="298" />
+<TGConnectingPoint num="17" id="299" />
+<TGConnectingPoint num="18" id="300" />
+<TGConnectingPoint num="19" id="301" />
+<TGConnectingPoint num="20" id="302" />
+<TGConnectingPoint num="21" id="303" />
+<TGConnectingPoint num="22" id="304" />
+<TGConnectingPoint num="23" id="305" />
+<extraparam>
+<info stereotype="BUS-RR" nodeName="BusDest2" />
+<attributes byteDataSize="4"  arbitrationPolicy="0"  sliceTime="10000"  pipelineSize="1"  clockRatio="1"  privacy="0"  referenceAttack="null" />
+</extraparam>
+</COMPONENT>
+
+<COMPONENT type="1102" id="331" >
+<cdparam x="961" y="303" />
+<sizeparam width="250" height="50" minWidth="100" minHeight="50" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="BusDest1" value="name" />
+<TGConnectingPoint num="0" id="307" />
+<TGConnectingPoint num="1" id="308" />
+<TGConnectingPoint num="2" id="309" />
+<TGConnectingPoint num="3" id="310" />
+<TGConnectingPoint num="4" id="311" />
+<TGConnectingPoint num="5" id="312" />
+<TGConnectingPoint num="6" id="313" />
+<TGConnectingPoint num="7" id="314" />
+<TGConnectingPoint num="8" id="315" />
+<TGConnectingPoint num="9" id="316" />
+<TGConnectingPoint num="10" id="317" />
+<TGConnectingPoint num="11" id="318" />
+<TGConnectingPoint num="12" id="319" />
+<TGConnectingPoint num="13" id="320" />
+<TGConnectingPoint num="14" id="321" />
+<TGConnectingPoint num="15" id="322" />
+<TGConnectingPoint num="16" id="323" />
+<TGConnectingPoint num="17" id="324" />
+<TGConnectingPoint num="18" id="325" />
+<TGConnectingPoint num="19" id="326" />
+<TGConnectingPoint num="20" id="327" />
+<TGConnectingPoint num="21" id="328" />
+<TGConnectingPoint num="22" id="329" />
+<TGConnectingPoint num="23" id="330" />
+<extraparam>
+<info stereotype="BUS-RR" nodeName="BusDest1" />
+<attributes byteDataSize="4"  arbitrationPolicy="0"  sliceTime="10000"  pipelineSize="1"  clockRatio="1"  privacy="0"  referenceAttack="null" />
+</extraparam>
+</COMPONENT>
+
+<COMPONENT type="1105" id="365" >
+<cdparam x="743" y="783" />
+<sizeparam width="383" height="202" minWidth="100" minHeight="35" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="MemoryDest2" value="name" />
+<TGConnectingPoint num="0" id="341" />
+<TGConnectingPoint num="1" id="342" />
+<TGConnectingPoint num="2" id="343" />
+<TGConnectingPoint num="3" id="344" />
+<TGConnectingPoint num="4" id="345" />
+<TGConnectingPoint num="5" id="346" />
+<TGConnectingPoint num="6" id="347" />
+<TGConnectingPoint num="7" id="348" />
+<TGConnectingPoint num="8" id="349" />
+<TGConnectingPoint num="9" id="350" />
+<TGConnectingPoint num="10" id="351" />
+<TGConnectingPoint num="11" id="352" />
+<TGConnectingPoint num="12" id="353" />
+<TGConnectingPoint num="13" id="354" />
+<TGConnectingPoint num="14" id="355" />
+<TGConnectingPoint num="15" id="356" />
+<TGConnectingPoint num="16" id="357" />
+<TGConnectingPoint num="17" id="358" />
+<TGConnectingPoint num="18" id="359" />
+<TGConnectingPoint num="19" id="360" />
+<TGConnectingPoint num="20" id="361" />
+<TGConnectingPoint num="21" id="362" />
+<TGConnectingPoint num="22" id="363" />
+<TGConnectingPoint num="23" id="364" />
+<extraparam>
+<info stereotype="MEMORY" nodeName="MemoryDest2" />
+<attributes byteDataSize="4"  memorySize="1024"  clockRatio="1"  bufferType="0" />
+</extraparam>
+</COMPONENT>
+<SUBCOMPONENT type="1103" id="340" >
+<father id="365" num="0" />
+<cdparam x="854" y="834" />
+<sizeparam width="174" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="0" maxX="209" minY="0" maxY="162" />
+<infoparam name="TGComponent" value="FVFork::chfork__chfork2" />
+<TGConnectingPoint num="0" id="332" />
+<TGConnectingPoint num="1" id="333" />
+<TGConnectingPoint num="2" id="334" />
+<TGConnectingPoint num="3" id="335" />
+<TGConnectingPoint num="4" id="336" />
+<TGConnectingPoint num="5" id="337" />
+<TGConnectingPoint num="6" id="338" />
+<TGConnectingPoint num="7" id="339" />
+<extraparam>
+<info value="FVFork::chfork__chfork2" communicationName="chfork__chfork2" referenceCommunicationName="FVFork" priority="0" typeName="channel" />
+</extraparam>
+</SUBCOMPONENT>
+
+<COMPONENT type="1105" id="399" >
+<cdparam x="642" y="81" />
+<sizeparam width="346" height="160" minWidth="100" minHeight="35" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="MemoryDest1" value="name" />
+<TGConnectingPoint num="0" id="375" />
+<TGConnectingPoint num="1" id="376" />
+<TGConnectingPoint num="2" id="377" />
+<TGConnectingPoint num="3" id="378" />
+<TGConnectingPoint num="4" id="379" />
+<TGConnectingPoint num="5" id="380" />
+<TGConnectingPoint num="6" id="381" />
+<TGConnectingPoint num="7" id="382" />
+<TGConnectingPoint num="8" id="383" />
+<TGConnectingPoint num="9" id="384" />
+<TGConnectingPoint num="10" id="385" />
+<TGConnectingPoint num="11" id="386" />
+<TGConnectingPoint num="12" id="387" />
+<TGConnectingPoint num="13" id="388" />
+<TGConnectingPoint num="14" id="389" />
+<TGConnectingPoint num="15" id="390" />
+<TGConnectingPoint num="16" id="391" />
+<TGConnectingPoint num="17" id="392" />
+<TGConnectingPoint num="18" id="393" />
+<TGConnectingPoint num="19" id="394" />
+<TGConnectingPoint num="20" id="395" />
+<TGConnectingPoint num="21" id="396" />
+<TGConnectingPoint num="22" id="397" />
+<TGConnectingPoint num="23" id="398" />
+<extraparam>
+<info stereotype="MEMORY" nodeName="MemoryDest1" />
+<attributes byteDataSize="4"  memorySize="1024"  clockRatio="1"  bufferType="0" />
+</extraparam>
+</COMPONENT>
+<SUBCOMPONENT type="1103" id="374" >
+<father id="399" num="0" />
+<cdparam x="668" y="132" />
+<sizeparam width="174" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="0" maxX="172" minY="0" maxY="120" />
+<infoparam name="TGComponent" value="FVFork::chfork__chfork1" />
+<TGConnectingPoint num="0" id="366" />
+<TGConnectingPoint num="1" id="367" />
+<TGConnectingPoint num="2" id="368" />
+<TGConnectingPoint num="3" id="369" />
+<TGConnectingPoint num="4" id="370" />
+<TGConnectingPoint num="5" id="371" />
+<TGConnectingPoint num="6" id="372" />
+<TGConnectingPoint num="7" id="373" />
+<extraparam>
+<info value="FVFork::chfork__chfork1" communicationName="chfork__chfork1" referenceCommunicationName="FVFork" priority="0" typeName="channel" />
+</extraparam>
+</SUBCOMPONENT>
+
+<CONNECTOR type="125" id="400" >
+<cdparam x="299" y="534" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="{info}" />
+<P1  x="299" y="525" id="116" />
+<P2  x="354" y="495" id="135" />
+<AutomaticDrawing  data="true" />
+<extraparam>
+<info priority="0" />
+<spy value="false" />
+</extraparam>
+</CONNECTOR>
+<CONNECTOR type="125" id="401" >
+<cdparam x="300" y="351" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="{info}" />
+<P1  x="300" y="351" id="196" />
+<P2  x="354" y="445" id="130" />
+<AutomaticDrawing  data="true" />
+<extraparam>
+<info priority="0" />
+<spy value="false" />
+</extraparam>
+</CONNECTOR>
+<CONNECTOR type="125" id="402" >
+<cdparam x="1062" y="771" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="{info}" />
+<P1  x="934" y="783" id="342" />
+<P2  x="1077" y="731" id="288" />
+<AutomaticDrawing  data="true" />
+<extraparam>
+<info priority="0" />
+<spy value="false" />
+</extraparam>
+</CONNECTOR>
+<CONNECTOR type="125" id="403" >
+<cdparam x="1327" y="720" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="{info}" />
+<P1  x="1327" y="720" id="226" />
+<P2  x="1202" y="718" id="295" />
+<AutomaticDrawing  data="true" />
+<extraparam>
+<info priority="0" />
+<spy value="false" />
+</extraparam>
+</CONNECTOR>
+<CONNECTOR type="125" id="404" >
+<cdparam x="997" y="600" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="{info}" />
+<P1  x="997" y="600" id="87" />
+<P2  x="1077" y="681" id="283" />
+<AutomaticDrawing  data="true" />
+<extraparam>
+<info priority="0" />
+<spy value="false" />
+</extraparam>
+</CONNECTOR>
+<CONNECTOR type="125" id="405" >
+<cdparam x="807" y="555" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="{info}" />
+<P1  x="807" y="555" id="90" />
+<P2  x="604" y="482" id="143" />
+<AutomaticDrawing  data="true" />
+<extraparam>
+<info priority="0" />
+<spy value="false" />
+</extraparam>
+</CONNECTOR>
+<CONNECTOR type="125" id="406" >
+<cdparam x="806" y="478" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="{info}" />
+<P1  x="809" y="421" id="158" />
+<P2  x="604" y="470" id="134" />
+<AutomaticDrawing  data="true" />
+<extraparam>
+<info priority="0" />
+<spy value="false" />
+</extraparam>
+</CONNECTOR>
+<CONNECTOR type="125" id="407" >
+<cdparam x="922" y="447" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="{info}" />
+<P1  x="925" y="390" id="164" />
+<P2  x="1023" y="353" id="321" />
+<AutomaticDrawing  data="true" />
+<extraparam>
+<info priority="0" />
+<spy value="false" />
+</extraparam>
+</CONNECTOR>
+<CONNECTOR type="125" id="408" >
+<cdparam x="888" y="253" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="{info}" />
+<P1  x="1211" y="251" id="271" />
+<P2  x="1148" y="303" id="316" />
+<AutomaticDrawing  data="true" />
+<extraparam>
+<info priority="0" />
+<spy value="false" />
+</extraparam>
+</CONNECTOR>
+<CONNECTOR type="125" id="409" >
+<cdparam x="614" y="272" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="{info}" />
+<P1  x="815" y="241" id="381" />
+<P2  x="1086" y="303" id="308" />
+<AutomaticDrawing  data="true" />
+<extraparam>
+<info priority="0" />
+<spy value="false" />
+</extraparam>
+</CONNECTOR>
+
+</TMLArchiDiagramPanel>
+
+</Modeling>
+
+
+
+
+<Modeling type="TML Component Design" nameTab="FVJoin" >
+<TMLComponentTaskDiagramPanel name="TML Component Task Diagram" minX="10" maxX="2500" minY="10" maxY="1500" channels="true" events="true" requests="true" zoom="1.0" >
+<CONNECTOR type="126" id="410" >
+<cdparam x="421" y="445" />
+<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="408" y="432" id="451" />
+<P2  x="555" y="312" id="418" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<CONNECTOR type="126" id="411" >
+<cdparam x="572" y="304" />
+<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="572" y="304" id="413" />
+<P2  x="751" y="291" id="440" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<CONNECTOR type="126" id="412" >
+<cdparam x="417" y="221" />
+<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="404" y="208" id="429" />
+<P2  x="555" y="295" id="416" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<COMPONENT type="1208" id="428" >
+<cdparam x="550" y="293" />
+<sizeparam width="22" height="22" minWidth="10" minHeight="10" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="Composite port" value="J" />
+<TGConnectingPoint num="0" id="413" />
+<TGConnectingPoint num="1" id="414" />
+<TGConnectingPoint num="2" id="415" />
+<TGConnectingPoint num="3" id="416" />
+<TGConnectingPoint num="4" id="417" />
+<TGConnectingPoint num="5" id="418" />
+<TGConnectingPoint num="6" id="419" />
+<TGConnectingPoint num="7" id="420" />
+<TGConnectingPoint num="8" id="421" />
+<TGConnectingPoint num="9" id="422" />
+<TGConnectingPoint num="10" id="423" />
+<TGConnectingPoint num="11" id="424" />
+<TGConnectingPoint num="12" id="425" />
+<TGConnectingPoint num="13" id="426" />
+<TGConnectingPoint num="14" id="427" />
+</COMPONENT>
+
+<COMPONENT type="1202" id="439" >
+<cdparam x="204" y="124" />
+<sizeparam width="200" height="150" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="Primitive component" value="src1" />
+<TGConnectingPoint num="0" id="431" />
+<TGConnectingPoint num="1" id="432" />
+<TGConnectingPoint num="2" id="433" />
+<TGConnectingPoint num="3" id="434" />
+<TGConnectingPoint num="4" id="435" />
+<TGConnectingPoint num="5" id="436" />
+<TGConnectingPoint num="6" id="437" />
+<TGConnectingPoint num="7" id="438" />
+<extraparam>
+<Data isAttacker="No" />
+</extraparam>
+</COMPONENT>
+<SUBCOMPONENT type="1203" id="430" >
+<father id="439" num="0" />
+<cdparam x="391" y="208" />
+<sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="-13" maxX="187" minY="-13" maxY="137" />
+<infoparam name="Primitive port" value="Channel chjoin1" />
+<TGConnectingPoint num="0" id="429" />
+<extraparam>
+<Prop commName="chjoin1" commType="0" origin="true" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+</extraparam>
+</SUBCOMPONENT>
+
+<COMPONENT type="1202" id="450" >
+<cdparam x="751" y="224" />
+<sizeparam width="200" height="150" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="Primitive component" value="dest" />
+<TGConnectingPoint num="0" id="442" />
+<TGConnectingPoint num="1" id="443" />
+<TGConnectingPoint num="2" id="444" />
+<TGConnectingPoint num="3" id="445" />
+<TGConnectingPoint num="4" id="446" />
+<TGConnectingPoint num="5" id="447" />
+<TGConnectingPoint num="6" id="448" />
+<TGConnectingPoint num="7" id="449" />
+<extraparam>
+<Data isAttacker="No" />
+</extraparam>
+</COMPONENT>
+<SUBCOMPONENT type="1203" id="441" >
+<father id="450" num="0" />
+<cdparam x="738" 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="187" minY="-13" maxY="137" />
+<infoparam name="Primitive port" value="Channel chjoin" />
+<TGConnectingPoint num="0" id="440" />
+<extraparam>
+<Prop commName="chjoin" commType="0" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+</extraparam>
+</SUBCOMPONENT>
+
+<COMPONENT type="1202" id="461" >
+<cdparam x="208" y="363" />
+<sizeparam width="200" height="150" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="Primitive component" value="src2" />
+<TGConnectingPoint num="0" id="453" />
+<TGConnectingPoint num="1" id="454" />
+<TGConnectingPoint num="2" id="455" />
+<TGConnectingPoint num="3" id="456" />
+<TGConnectingPoint num="4" id="457" />
+<TGConnectingPoint num="5" id="458" />
+<TGConnectingPoint num="6" id="459" />
+<TGConnectingPoint num="7" id="460" />
+<extraparam>
+<Data isAttacker="No" />
+</extraparam>
+</COMPONENT>
+<SUBCOMPONENT type="1203" id="452" >
+<father id="461" num="0" />
+<cdparam x="395" y="432" />
+<sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="-13" maxX="187" minY="-13" maxY="137" />
+<infoparam name="Primitive port" value="Channel chjoin2" />
+<TGConnectingPoint num="0" id="451" />
+<extraparam>
+<Prop commName="chjoin2" commType="0" origin="true" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+</extraparam>
+</SUBCOMPONENT>
+
+
+</TMLComponentTaskDiagramPanel>
+
+<TMLActivityDiagramPanel name="src1" minX="10" maxX="2500" minY="10" maxY="1500" >
+<COMPONENT type="1001" id="463" >
+<cdparam x="409" y="155" />
+<sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="stop state" value="null" />
+<TGConnectingPoint num="0" id="462" />
+</COMPONENT>
+
+<COMPONENT type="1006" id="466" >
+<cdparam x="375" y="98" />
+<sizeparam width="73" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="write channel" value="chjoin1(5)" />
+<TGConnectingPoint num="0" id="464" />
+<TGConnectingPoint num="1" id="465" />
+<extraparam>
+<Data channelName="chjoin1" nbOfSamples="5" secPattern="" isAttacker="No" />
+</extraparam>
+</COMPONENT>
+
+<COMPONENT type="1000" id="468" >
+<cdparam x="400" y="50" />
+<sizeparam width="15" height="15" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="start state" value="null" />
+<TGConnectingPoint num="0" id="467" />
+</COMPONENT>
+
+<CONNECTOR type="115" id="469" >
+<cdparam x="407" y="70" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="null" />
+<P1  x="407" y="70" id="467" />
+<P2  x="411" y="93" id="464" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<CONNECTOR type="115" id="470" >
+<cdparam x="411" y="123" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="null" />
+<P1  x="411" y="123" id="465" />
+<P2  x="419" y="150" id="462" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+
+</TMLActivityDiagramPanel>
+
+<TMLActivityDiagramPanel name="dest" minX="10" maxX="2500" minY="10" maxY="1500" >
+<COMPONENT type="1001" id="472" >
+<cdparam x="423" y="170" />
+<sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="stop state" value="null" />
+<TGConnectingPoint num="0" id="471" />
+</COMPONENT>
+
+<COMPONENT type="1009" id="475" >
+<cdparam x="385" y="106" />
+<sizeparam width="77" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="read channel" value="chjoin(10) " />
+<TGConnectingPoint num="0" id="473" />
+<TGConnectingPoint num="1" id="474" />
+<extraparam>
+<Data channelName="chjoin" nbOfSamples="10" secPattern="" isAttacker="No" />
+</extraparam>
+</COMPONENT>
+
+<COMPONENT type="1000" id="477" >
+<cdparam x="400" y="50" />
+<sizeparam width="15" height="15" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="start state" value="null" />
+<TGConnectingPoint num="0" id="476" />
+</COMPONENT>
+
+<CONNECTOR type="115" id="478" >
+<cdparam x="407" y="70" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="null" />
+<P1  x="407" y="70" id="476" />
+<P2  x="423" y="101" id="473" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<CONNECTOR type="115" id="479" >
+<cdparam x="423" y="131" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="null" />
+<P1  x="423" y="131" id="474" />
+<P2  x="433" y="165" id="471" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+
+</TMLActivityDiagramPanel>
+
+<TMLActivityDiagramPanel name="src2" minX="10" maxX="2500" minY="10" maxY="1500" >
+<COMPONENT type="1001" id="481" >
+<cdparam x="402" y="167" />
+<sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="stop state" value="null" />
+<TGConnectingPoint num="0" id="480" />
+</COMPONENT>
+
+<COMPONENT type="1006" id="484" >
+<cdparam x="377" y="108" />
+<sizeparam width="73" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="write channel" value="chjoin2(5)" />
+<TGConnectingPoint num="0" id="482" />
+<TGConnectingPoint num="1" id="483" />
+<extraparam>
+<Data channelName="chjoin2" nbOfSamples="5" secPattern="" isAttacker="No" />
+</extraparam>
+</COMPONENT>
+
+<COMPONENT type="1000" id="486" >
+<cdparam x="400" y="50" />
+<sizeparam width="15" height="15" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="start state" value="null" />
+<TGConnectingPoint num="0" id="485" />
+</COMPONENT>
+
+<CONNECTOR type="115" id="487" >
+<cdparam x="407" y="70" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="null" />
+<P1  x="407" y="70" id="485" />
+<P2  x="413" y="103" id="482" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<CONNECTOR type="115" id="488" >
+<cdparam x="413" y="133" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="null" />
+<P1  x="413" y="133" id="483" />
+<P2  x="412" y="162" id="480" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+
+</TMLActivityDiagramPanel>
+
+</Modeling>
+
+
+
+
+<Modeling type="TML Architecture" nameTab="ArchitectureJoin" >
+<TMLArchiDiagramPanel name="DIPLODOCUS architecture and mapping Diagram" minX="10" maxX="2500" minY="10" maxY="1500" attributes="0" masterClockFrequency="200" >
+<COMPONENT type="1106" id="513" >
+<cdparam x="872" y="545" />
+<sizeparam width="190" height="60" minWidth="100" minHeight="35" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="BridgeDest2" value="name" />
+<TGConnectingPoint num="0" id="489" />
+<TGConnectingPoint num="1" id="490" />
+<TGConnectingPoint num="2" id="491" />
+<TGConnectingPoint num="3" id="492" />
+<TGConnectingPoint num="4" id="493" />
+<TGConnectingPoint num="5" id="494" />
+<TGConnectingPoint num="6" id="495" />
+<TGConnectingPoint num="7" id="496" />
+<TGConnectingPoint num="8" id="497" />
+<TGConnectingPoint num="9" id="498" />
+<TGConnectingPoint num="10" id="499" />
+<TGConnectingPoint num="11" id="500" />
+<TGConnectingPoint num="12" id="501" />
+<TGConnectingPoint num="13" id="502" />
+<TGConnectingPoint num="14" id="503" />
+<TGConnectingPoint num="15" id="504" />
+<TGConnectingPoint num="16" id="505" />
+<TGConnectingPoint num="17" id="506" />
+<TGConnectingPoint num="18" id="507" />
+<TGConnectingPoint num="19" id="508" />
+<TGConnectingPoint num="20" id="509" />
+<TGConnectingPoint num="21" id="510" />
+<TGConnectingPoint num="22" id="511" />
+<TGConnectingPoint num="23" id="512" />
+<extraparam>
+<info stereotype="BRIDGE" nodeName="BridgeDest2" />
+<attributes bufferByteDataSize="4"  clockRatio="1" />
+</extraparam>
+</COMPONENT>
+
+<COMPONENT type="1105" id="556" >
+<cdparam x="135" y="494" />
+<sizeparam width="267" height="215" minWidth="100" minHeight="35" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="MemoryDest" value="name" />
+<TGConnectingPoint num="0" id="532" />
+<TGConnectingPoint num="1" id="533" />
+<TGConnectingPoint num="2" id="534" />
+<TGConnectingPoint num="3" id="535" />
+<TGConnectingPoint num="4" id="536" />
+<TGConnectingPoint num="5" id="537" />
+<TGConnectingPoint num="6" id="538" />
+<TGConnectingPoint num="7" id="539" />
+<TGConnectingPoint num="8" id="540" />
+<TGConnectingPoint num="9" id="541" />
+<TGConnectingPoint num="10" id="542" />
+<TGConnectingPoint num="11" id="543" />
+<TGConnectingPoint num="12" id="544" />
+<TGConnectingPoint num="13" id="545" />
+<TGConnectingPoint num="14" id="546" />
+<TGConnectingPoint num="15" id="547" />
+<TGConnectingPoint num="16" id="548" />
+<TGConnectingPoint num="17" id="549" />
+<TGConnectingPoint num="18" id="550" />
+<TGConnectingPoint num="19" id="551" />
+<TGConnectingPoint num="20" id="552" />
+<TGConnectingPoint num="21" id="553" />
+<TGConnectingPoint num="22" id="554" />
+<TGConnectingPoint num="23" id="555" />
+<extraparam>
+<info stereotype="MEMORY" nodeName="MemoryDest" />
+<attributes byteDataSize="4"  memorySize="1024"  clockRatio="1"  bufferType="0" />
+</extraparam>
+</COMPONENT>
+<SUBCOMPONENT type="1103" id="522" >
+<father id="556" num="0" />
+<cdparam x="146" y="537" />
+<sizeparam width="166" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="0" maxX="101" minY="0" maxY="175" />
+<infoparam name="TGComponent" value="FVJoin::chjoin2__chjoin" />
+<TGConnectingPoint num="0" id="514" />
+<TGConnectingPoint num="1" id="515" />
+<TGConnectingPoint num="2" id="516" />
+<TGConnectingPoint num="3" id="517" />
+<TGConnectingPoint num="4" id="518" />
+<TGConnectingPoint num="5" id="519" />
+<TGConnectingPoint num="6" id="520" />
+<TGConnectingPoint num="7" id="521" />
+<extraparam>
+<info value="FVJoin::chjoin2__chjoin" communicationName="chjoin2__chjoin" referenceCommunicationName="FVJoin" priority="0" typeName="channel" />
+</extraparam>
+</SUBCOMPONENT>
+<SUBCOMPONENT type="1103" id="531" >
+<father id="556" num="1" />
+<cdparam x="170" y="586" />
+<sizeparam width="166" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="0" maxX="101" minY="0" maxY="175" />
+<infoparam name="TGComponent" value="FVJoin::chjoin1__chjoin" />
+<TGConnectingPoint num="0" id="523" />
+<TGConnectingPoint num="1" id="524" />
+<TGConnectingPoint num="2" id="525" />
+<TGConnectingPoint num="3" id="526" />
+<TGConnectingPoint num="4" id="527" />
+<TGConnectingPoint num="5" id="528" />
+<TGConnectingPoint num="6" id="529" />
+<TGConnectingPoint num="7" id="530" />
+<extraparam>
+<info value="FVJoin::chjoin1__chjoin" communicationName="chjoin1__chjoin" referenceCommunicationName="FVJoin" priority="0" typeName="channel" />
+</extraparam>
+</SUBCOMPONENT>
+
+<COMPONENT type="1102" id="581" >
+<cdparam x="419" y="450" />
+<sizeparam width="250" height="50" minWidth="100" minHeight="50" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="BusDest" value="name" />
+<TGConnectingPoint num="0" id="557" />
+<TGConnectingPoint num="1" id="558" />
+<TGConnectingPoint num="2" id="559" />
+<TGConnectingPoint num="3" id="560" />
+<TGConnectingPoint num="4" id="561" />
+<TGConnectingPoint num="5" id="562" />
+<TGConnectingPoint num="6" id="563" />
+<TGConnectingPoint num="7" id="564" />
+<TGConnectingPoint num="8" id="565" />
+<TGConnectingPoint num="9" id="566" />
+<TGConnectingPoint num="10" id="567" />
+<TGConnectingPoint num="11" id="568" />
+<TGConnectingPoint num="12" id="569" />
+<TGConnectingPoint num="13" id="570" />
+<TGConnectingPoint num="14" id="571" />
+<TGConnectingPoint num="15" id="572" />
+<TGConnectingPoint num="16" id="573" />
+<TGConnectingPoint num="17" id="574" />
+<TGConnectingPoint num="18" id="575" />
+<TGConnectingPoint num="19" id="576" />
+<TGConnectingPoint num="20" id="577" />
+<TGConnectingPoint num="21" id="578" />
+<TGConnectingPoint num="22" id="579" />
+<TGConnectingPoint num="23" id="580" />
+<extraparam>
+<info stereotype="BUS-RR" nodeName="BusDest" />
+<attributes byteDataSize="4"  arbitrationPolicy="0"  sliceTime="10000"  pipelineSize="1"  clockRatio="1"  privacy="0"  referenceAttack="null" />
+</extraparam>
+</COMPONENT>
+
+<COMPONENT type="1106" id="606" >
+<cdparam x="874" y="395" />
+<sizeparam width="155" height="62" minWidth="100" minHeight="35" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="BridgeDest1" value="name" />
+<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" />
+<TGConnectingPoint num="16" id="598" />
+<TGConnectingPoint num="17" id="599" />
+<TGConnectingPoint num="18" id="600" />
+<TGConnectingPoint num="19" id="601" />
+<TGConnectingPoint num="20" id="602" />
+<TGConnectingPoint num="21" id="603" />
+<TGConnectingPoint num="22" id="604" />
+<TGConnectingPoint num="23" id="605" />
+<extraparam>
+<info stereotype="BRIDGE" nodeName="BridgeDest1" />
+<attributes bufferByteDataSize="4"  clockRatio="1" />
+</extraparam>
+</COMPONENT>
+
+<COMPONENT type="1100" id="640" >
+<cdparam x="161" y="256" />
+<sizeparam width="204" height="100" minWidth="150" minHeight="100" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="CPUDest" value="name" />
+<TGConnectingPoint num="0" id="616" />
+<TGConnectingPoint num="1" id="617" />
+<TGConnectingPoint num="2" id="618" />
+<TGConnectingPoint num="3" id="619" />
+<TGConnectingPoint num="4" id="620" />
+<TGConnectingPoint num="5" id="621" />
+<TGConnectingPoint num="6" id="622" />
+<TGConnectingPoint num="7" id="623" />
+<TGConnectingPoint num="8" id="624" />
+<TGConnectingPoint num="9" id="625" />
+<TGConnectingPoint num="10" id="626" />
+<TGConnectingPoint num="11" id="627" />
+<TGConnectingPoint num="12" id="628" />
+<TGConnectingPoint num="13" id="629" />
+<TGConnectingPoint num="14" id="630" />
+<TGConnectingPoint num="15" id="631" />
+<TGConnectingPoint num="16" id="632" />
+<TGConnectingPoint num="17" id="633" />
+<TGConnectingPoint num="18" id="634" />
+<TGConnectingPoint num="19" id="635" />
+<TGConnectingPoint num="20" id="636" />
+<TGConnectingPoint num="21" id="637" />
+<TGConnectingPoint num="22" id="638" />
+<TGConnectingPoint num="23" id="639" />
+<extraparam>
+<info stereotype="CPURR" nodeName="CPUDest" />
+<attributes nbOfCores="1" byteDataSize="4"  schedulingPolicy="0"  sliceTime="10000"  goIdleTime="10"  maxConsecutiveIdleCycles="10"  pipelineSize="5"  taskSwitchingTime="20"  branchingPredictionPenalty="2"  cacheMiss="5" execiTime="1" execcTime="1" clockRatio="1" MECType="0" encryption="0"/>
+</extraparam>
+</COMPONENT>
+<SUBCOMPONENT type="1101" id="615" >
+<father id="640" num="0" />
+<cdparam x="183" y="295" />
+<sizeparam width="103" height="40" minWidth="100" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="0" maxX="101" minY="0" maxY="60" />
+<infoparam name="TGComponent" value="FVJoin::dest" />
+<TGConnectingPoint num="0" id="607" />
+<TGConnectingPoint num="1" id="608" />
+<TGConnectingPoint num="2" id="609" />
+<TGConnectingPoint num="3" id="610" />
+<TGConnectingPoint num="4" id="611" />
+<TGConnectingPoint num="5" id="612" />
+<TGConnectingPoint num="6" id="613" />
+<TGConnectingPoint num="7" id="614" />
+<extraparam>
+<info value="FVJoin::dest" taskName="dest" referenceTaskName="FVJoin" priority="0" operation="src" fatherComponentMECType="0" />
+</extraparam>
+</SUBCOMPONENT>
+
+<COMPONENT type="1100" id="674" >
+<cdparam x="1392" y="625" />
+<sizeparam width="250" height="200" minWidth="150" minHeight="100" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="CPUSrc2" value="name" />
+<TGConnectingPoint num="0" id="650" />
+<TGConnectingPoint num="1" id="651" />
+<TGConnectingPoint num="2" id="652" />
+<TGConnectingPoint num="3" id="653" />
+<TGConnectingPoint num="4" id="654" />
+<TGConnectingPoint num="5" id="655" />
+<TGConnectingPoint num="6" id="656" />
+<TGConnectingPoint num="7" id="657" />
+<TGConnectingPoint num="8" id="658" />
+<TGConnectingPoint num="9" id="659" />
+<TGConnectingPoint num="10" id="660" />
+<TGConnectingPoint num="11" id="661" />
+<TGConnectingPoint num="12" id="662" />
+<TGConnectingPoint num="13" id="663" />
+<TGConnectingPoint num="14" id="664" />
+<TGConnectingPoint num="15" id="665" />
+<TGConnectingPoint num="16" id="666" />
+<TGConnectingPoint num="17" id="667" />
+<TGConnectingPoint num="18" id="668" />
+<TGConnectingPoint num="19" id="669" />
+<TGConnectingPoint num="20" id="670" />
+<TGConnectingPoint num="21" id="671" />
+<TGConnectingPoint num="22" id="672" />
+<TGConnectingPoint num="23" id="673" />
+<extraparam>
+<info stereotype="CPURR" nodeName="CPUSrc2" />
+<attributes nbOfCores="1" byteDataSize="4"  schedulingPolicy="0"  sliceTime="10000"  goIdleTime="10"  maxConsecutiveIdleCycles="10"  pipelineSize="5"  taskSwitchingTime="20"  branchingPredictionPenalty="2"  cacheMiss="5" execiTime="1" execcTime="1" clockRatio="1" MECType="0" encryption="0"/>
+</extraparam>
+</COMPONENT>
+<SUBCOMPONENT type="1101" id="649" >
+<father id="674" num="0" />
+<cdparam x="1414" y="706" />
+<sizeparam width="103" height="40" minWidth="100" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="0" maxX="147" minY="0" maxY="160" />
+<infoparam name="TGComponent" value="FVJoin::src2" />
+<TGConnectingPoint num="0" id="641" />
+<TGConnectingPoint num="1" id="642" />
+<TGConnectingPoint num="2" id="643" />
+<TGConnectingPoint num="3" id="644" />
+<TGConnectingPoint num="4" id="645" />
+<TGConnectingPoint num="5" id="646" />
+<TGConnectingPoint num="6" id="647" />
+<TGConnectingPoint num="7" id="648" />
+<extraparam>
+<info value="FVJoin::src2" taskName="src2" referenceTaskName="FVJoin" priority="0" operation="Dest2" fatherComponentMECType="0" />
+</extraparam>
+</SUBCOMPONENT>
+
+<COMPONENT type="1100" id="708" >
+<cdparam x="1217" y="150" />
+<sizeparam width="237" height="106" minWidth="150" minHeight="100" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="CPUSrc1" value="name" />
+<TGConnectingPoint num="0" id="684" />
+<TGConnectingPoint num="1" id="685" />
+<TGConnectingPoint num="2" id="686" />
+<TGConnectingPoint num="3" id="687" />
+<TGConnectingPoint num="4" id="688" />
+<TGConnectingPoint num="5" id="689" />
+<TGConnectingPoint num="6" id="690" />
+<TGConnectingPoint num="7" id="691" />
+<TGConnectingPoint num="8" id="692" />
+<TGConnectingPoint num="9" id="693" />
+<TGConnectingPoint num="10" id="694" />
+<TGConnectingPoint num="11" id="695" />
+<TGConnectingPoint num="12" id="696" />
+<TGConnectingPoint num="13" id="697" />
+<TGConnectingPoint num="14" id="698" />
+<TGConnectingPoint num="15" id="699" />
+<TGConnectingPoint num="16" id="700" />
+<TGConnectingPoint num="17" id="701" />
+<TGConnectingPoint num="18" id="702" />
+<TGConnectingPoint num="19" id="703" />
+<TGConnectingPoint num="20" id="704" />
+<TGConnectingPoint num="21" id="705" />
+<TGConnectingPoint num="22" id="706" />
+<TGConnectingPoint num="23" id="707" />
+<extraparam>
+<info stereotype="CPURR" nodeName="CPUSrc1" />
+<attributes nbOfCores="1" byteDataSize="4"  schedulingPolicy="0"  sliceTime="10000"  goIdleTime="10"  maxConsecutiveIdleCycles="10"  pipelineSize="5"  taskSwitchingTime="20"  branchingPredictionPenalty="2"  cacheMiss="5" execiTime="1" execcTime="1" clockRatio="1" MECType="0" encryption="0"/>
+</extraparam>
+</COMPONENT>
+<SUBCOMPONENT type="1101" id="683" >
+<father id="708" num="0" />
+<cdparam x="1243" y="193" />
+<sizeparam width="103" height="40" minWidth="100" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="0" maxX="134" minY="0" maxY="66" />
+<infoparam name="TGComponent" value="FVJoin::src1" />
+<TGConnectingPoint num="0" id="675" />
+<TGConnectingPoint num="1" id="676" />
+<TGConnectingPoint num="2" id="677" />
+<TGConnectingPoint num="3" id="678" />
+<TGConnectingPoint num="4" id="679" />
+<TGConnectingPoint num="5" id="680" />
+<TGConnectingPoint num="6" id="681" />
+<TGConnectingPoint num="7" id="682" />
+<extraparam>
+<info value="FVJoin::src1" taskName="src1" referenceTaskName="FVJoin" priority="0" operation="Dest2" fatherComponentMECType="0" />
+</extraparam>
+</SUBCOMPONENT>
+
+<COMPONENT type="1102" id="733" >
+<cdparam x="1017" y="686" />
+<sizeparam width="250" height="50" minWidth="100" minHeight="50" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="BusSrc2" value="name" />
+<TGConnectingPoint num="0" id="709" />
+<TGConnectingPoint num="1" id="710" />
+<TGConnectingPoint num="2" id="711" />
+<TGConnectingPoint num="3" id="712" />
+<TGConnectingPoint num="4" id="713" />
+<TGConnectingPoint num="5" id="714" />
+<TGConnectingPoint num="6" id="715" />
+<TGConnectingPoint num="7" id="716" />
+<TGConnectingPoint num="8" id="717" />
+<TGConnectingPoint num="9" id="718" />
+<TGConnectingPoint num="10" id="719" />
+<TGConnectingPoint num="11" id="720" />
+<TGConnectingPoint num="12" id="721" />
+<TGConnectingPoint num="13" id="722" />
+<TGConnectingPoint num="14" id="723" />
+<TGConnectingPoint num="15" id="724" />
+<TGConnectingPoint num="16" id="725" />
+<TGConnectingPoint num="17" id="726" />
+<TGConnectingPoint num="18" id="727" />
+<TGConnectingPoint num="19" id="728" />
+<TGConnectingPoint num="20" id="729" />
+<TGConnectingPoint num="21" id="730" />
+<TGConnectingPoint num="22" id="731" />
+<TGConnectingPoint num="23" id="732" />
+<extraparam>
+<info stereotype="BUS-RR" nodeName="BusSrc2" />
+<attributes byteDataSize="4"  arbitrationPolicy="0"  sliceTime="10000"  pipelineSize="1"  clockRatio="1"  privacy="0"  referenceAttack="null" />
+</extraparam>
+</COMPONENT>
+
+<COMPONENT type="1102" id="758" >
+<cdparam x="1026" y="308" />
+<sizeparam width="250" height="50" minWidth="100" minHeight="50" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="BusSrc1" value="name" />
+<TGConnectingPoint num="0" id="734" />
+<TGConnectingPoint num="1" id="735" />
+<TGConnectingPoint num="2" id="736" />
+<TGConnectingPoint num="3" id="737" />
+<TGConnectingPoint num="4" id="738" />
+<TGConnectingPoint num="5" id="739" />
+<TGConnectingPoint num="6" id="740" />
+<TGConnectingPoint num="7" id="741" />
+<TGConnectingPoint num="8" id="742" />
+<TGConnectingPoint num="9" id="743" />
+<TGConnectingPoint num="10" id="744" />
+<TGConnectingPoint num="11" id="745" />
+<TGConnectingPoint num="12" id="746" />
+<TGConnectingPoint num="13" id="747" />
+<TGConnectingPoint num="14" id="748" />
+<TGConnectingPoint num="15" id="749" />
+<TGConnectingPoint num="16" id="750" />
+<TGConnectingPoint num="17" id="751" />
+<TGConnectingPoint num="18" id="752" />
+<TGConnectingPoint num="19" id="753" />
+<TGConnectingPoint num="20" id="754" />
+<TGConnectingPoint num="21" id="755" />
+<TGConnectingPoint num="22" id="756" />
+<TGConnectingPoint num="23" id="757" />
+<extraparam>
+<info stereotype="BUS-RR" nodeName="BusSrc1" />
+<attributes byteDataSize="4"  arbitrationPolicy="0"  sliceTime="10000"  pipelineSize="1"  clockRatio="1"  privacy="0"  referenceAttack="null" />
+</extraparam>
+</COMPONENT>
+
+<COMPONENT type="1105" id="783" >
+<cdparam x="808" y="788" />
+<sizeparam width="386" height="147" minWidth="100" minHeight="35" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="MemorySrc2" value="name" />
+<TGConnectingPoint num="0" id="759" />
+<TGConnectingPoint num="1" id="760" />
+<TGConnectingPoint num="2" id="761" />
+<TGConnectingPoint num="3" id="762" />
+<TGConnectingPoint num="4" id="763" />
+<TGConnectingPoint num="5" id="764" />
+<TGConnectingPoint num="6" id="765" />
+<TGConnectingPoint num="7" id="766" />
+<TGConnectingPoint num="8" id="767" />
+<TGConnectingPoint num="9" id="768" />
+<TGConnectingPoint num="10" id="769" />
+<TGConnectingPoint num="11" id="770" />
+<TGConnectingPoint num="12" id="771" />
+<TGConnectingPoint num="13" id="772" />
+<TGConnectingPoint num="14" id="773" />
+<TGConnectingPoint num="15" id="774" />
+<TGConnectingPoint num="16" id="775" />
+<TGConnectingPoint num="17" id="776" />
+<TGConnectingPoint num="18" id="777" />
+<TGConnectingPoint num="19" id="778" />
+<TGConnectingPoint num="20" id="779" />
+<TGConnectingPoint num="21" id="780" />
+<TGConnectingPoint num="22" id="781" />
+<TGConnectingPoint num="23" id="782" />
+<extraparam>
+<info stereotype="MEMORY" nodeName="MemorySrc2" />
+<attributes byteDataSize="4"  memorySize="1024"  clockRatio="1"  bufferType="0" />
+</extraparam>
+</COMPONENT>
+
+<COMPONENT type="1105" id="808" >
+<cdparam x="707" y="117" />
+<sizeparam width="351" height="129" minWidth="100" minHeight="35" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="MemorySrc1" value="name" />
+<TGConnectingPoint num="0" id="784" />
+<TGConnectingPoint num="1" id="785" />
+<TGConnectingPoint num="2" id="786" />
+<TGConnectingPoint num="3" id="787" />
+<TGConnectingPoint num="4" id="788" />
+<TGConnectingPoint num="5" id="789" />
+<TGConnectingPoint num="6" id="790" />
+<TGConnectingPoint num="7" id="791" />
+<TGConnectingPoint num="8" id="792" />
+<TGConnectingPoint num="9" id="793" />
+<TGConnectingPoint num="10" id="794" />
+<TGConnectingPoint num="11" id="795" />
+<TGConnectingPoint num="12" id="796" />
+<TGConnectingPoint num="13" id="797" />
+<TGConnectingPoint num="14" id="798" />
+<TGConnectingPoint num="15" id="799" />
+<TGConnectingPoint num="16" id="800" />
+<TGConnectingPoint num="17" id="801" />
+<TGConnectingPoint num="18" id="802" />
+<TGConnectingPoint num="19" id="803" />
+<TGConnectingPoint num="20" id="804" />
+<TGConnectingPoint num="21" id="805" />
+<TGConnectingPoint num="22" id="806" />
+<TGConnectingPoint num="23" id="807" />
+<extraparam>
+<info stereotype="MEMORY" nodeName="MemorySrc1" />
+<attributes byteDataSize="4"  memorySize="1024"  clockRatio="1"  bufferType="0" />
+</extraparam>
+</COMPONENT>
+
+<CONNECTOR type="125" id="809" >
+<cdparam x="364" y="539" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="{info}" />
+<P1  x="402" y="547" id="543" />
+<P2  x="419" y="500" id="562" />
+<AutomaticDrawing  data="true" />
+<extraparam>
+<info priority="0" />
+<spy value="false" />
+</extraparam>
+</CONNECTOR>
+<CONNECTOR type="125" id="810" >
+<cdparam x="365" y="356" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="{info}" />
+<P1  x="365" y="356" id="623" />
+<P2  x="419" y="450" id="557" />
+<AutomaticDrawing  data="true" />
+<extraparam>
+<info priority="0" />
+<spy value="false" />
+</extraparam>
+</CONNECTOR>
+<CONNECTOR type="125" id="811" >
+<cdparam x="1127" y="776" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="{info}" />
+<P1  x="1001" y="788" id="760" />
+<P2  x="1142" y="736" id="715" />
+<AutomaticDrawing  data="true" />
+<extraparam>
+<info priority="0" />
+<spy value="false" />
+</extraparam>
+</CONNECTOR>
+<CONNECTOR type="125" id="812" >
+<cdparam x="1392" y="725" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="{info}" />
+<P1  x="1392" y="725" id="653" />
+<P2  x="1267" y="723" id="722" />
+<AutomaticDrawing  data="true" />
+<extraparam>
+<info priority="0" />
+<spy value="false" />
+</extraparam>
+</CONNECTOR>
+<CONNECTOR type="125" id="813" >
+<cdparam x="1062" y="605" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="{info}" />
+<P1  x="1062" y="605" id="496" />
+<P2  x="1142" y="686" id="710" />
+<AutomaticDrawing  data="true" />
+<extraparam>
+<info priority="0" />
+<spy value="false" />
+</extraparam>
+</CONNECTOR>
+<CONNECTOR type="125" id="814" >
+<cdparam x="872" y="560" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="{info}" />
+<P1  x="872" y="560" id="499" />
+<P2  x="669" y="487" id="570" />
+<AutomaticDrawing  data="true" />
+<extraparam>
+<info priority="0" />
+<spy value="false" />
+</extraparam>
+</CONNECTOR>
+<CONNECTOR type="125" id="815" >
+<cdparam x="871" y="483" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="{info}" />
+<P1  x="874" y="426" id="585" />
+<P2  x="669" y="475" id="561" />
+<AutomaticDrawing  data="true" />
+<extraparam>
+<info priority="0" />
+<spy value="false" />
+</extraparam>
+</CONNECTOR>
+<CONNECTOR type="125" id="816" >
+<cdparam x="987" y="452" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="{info}" />
+<P1  x="990" y="395" id="591" />
+<P2  x="1088" y="358" id="748" />
+<AutomaticDrawing  data="true" />
+<extraparam>
+<info priority="0" />
+<spy value="false" />
+</extraparam>
+</CONNECTOR>
+<CONNECTOR type="125" id="817" >
+<cdparam x="953" y="258" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="{info}" />
+<P1  x="1276" y="256" id="698" />
+<P2  x="1213" y="308" id="743" />
+<AutomaticDrawing  data="true" />
+<extraparam>
+<info priority="0" />
+<spy value="false" />
+</extraparam>
+</CONNECTOR>
+<CONNECTOR type="125" id="818" >
+<cdparam x="679" y="277" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="{info}" />
+<P1  x="882" y="246" id="790" />
+<P2  x="1151" y="308" id="735" />
+<AutomaticDrawing  data="true" />
+<extraparam>
+<info priority="0" />
+<spy value="false" />
+</extraparam>
+</CONNECTOR>
+
+</TMLArchiDiagramPanel>
+
+</Modeling>
+
+
+
+
+<Modeling type="TML Component Design" nameTab="Basic" >
+<TMLComponentTaskDiagramPanel name="TML Component Task Diagram" minX="10" maxX="2500" minY="10" maxY="1500" channels="true" events="true" requests="true" zoom="1.0" >
+<CONNECTOR type="126" id="819" >
+<cdparam x="368" y="181" />
+<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="355" y="168" id="831" />
+<P2  x="558" y="164" id="820" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<COMPONENT type="1202" id="830" >
+<cdparam x="558" y="109" />
+<sizeparam width="200" height="150" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="Primitive component" value="Task2" />
+<TGConnectingPoint num="0" id="822" />
+<TGConnectingPoint num="1" id="823" />
+<TGConnectingPoint num="2" id="824" />
+<TGConnectingPoint num="3" id="825" />
+<TGConnectingPoint num="4" id="826" />
+<TGConnectingPoint num="5" id="827" />
+<TGConnectingPoint num="6" id="828" />
+<TGConnectingPoint num="7" id="829" />
+<extraparam>
+<Data isAttacker="No" />
+</extraparam>
+</COMPONENT>
+<SUBCOMPONENT type="1203" id="821" >
+<father id="830" num="0" />
+<cdparam x="545" y="164" />
+<sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="-13" maxX="187" minY="-13" maxY="137" />
+<infoparam name="Primitive port" value="Channel comm" />
+<TGConnectingPoint num="0" id="820" />
+<extraparam>
+<Prop commName="comm" commType="0" origin="false" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+</extraparam>
+</SUBCOMPONENT>
+
+<COMPONENT type="1202" id="841" >
+<cdparam x="155" y="105" />
+<sizeparam width="200" height="150" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="Primitive component" value="Task1" />
+<TGConnectingPoint num="0" id="833" />
+<TGConnectingPoint num="1" id="834" />
+<TGConnectingPoint num="2" id="835" />
+<TGConnectingPoint num="3" id="836" />
+<TGConnectingPoint num="4" id="837" />
+<TGConnectingPoint num="5" id="838" />
+<TGConnectingPoint num="6" id="839" />
+<TGConnectingPoint num="7" id="840" />
+<extraparam>
+<Data isAttacker="No" />
+</extraparam>
+</COMPONENT>
+<SUBCOMPONENT type="1203" id="832" >
+<father id="841" num="0" />
+<cdparam x="342" y="168" />
+<sizeparam width="26" height="26" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="-13" maxX="187" minY="-13" maxY="137" />
+<infoparam name="Primitive port" value="Channel comm" />
+<TGConnectingPoint num="0" id="831" />
+<extraparam>
+<Prop commName="comm" commType="0" origin="true" finite="false" blocking="true" maxSamples="8" widthSamples="4" isLossy="false" isPrex="false" isPostex="false" lossPercentage="0" maxNbOfLoss="0" dataFlowType="int16_t" associatedEvent="" checkConf="false" checkConfStatus="0" checkAuth="false" checkWeakAuthStatus="0" checkStrongAuthStatus="0" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+<Type type="0" typeOther="" />
+</extraparam>
+</SUBCOMPONENT>
+
+
+</TMLComponentTaskDiagramPanel>
+
+<TMLActivityDiagramPanel name="Task2" minX="10" maxX="2500" minY="10" maxY="1500" >
+<COMPONENT type="1001" id="843" >
+<cdparam x="410" y="180" />
+<sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="stop state" value="null" />
+<TGConnectingPoint num="0" id="842" />
+</COMPONENT>
+
+<COMPONENT type="1009" id="846" >
+<cdparam x="380" y="117" />
+<sizeparam width="69" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="read channel" value="comm(3) " />
+<TGConnectingPoint num="0" id="844" />
+<TGConnectingPoint num="1" id="845" />
+<extraparam>
+<Data channelName="comm" nbOfSamples="3" secPattern="" isAttacker="No" />
+</extraparam>
+</COMPONENT>
+
+<COMPONENT type="1000" id="848" >
+<cdparam x="400" y="50" />
+<sizeparam width="15" height="15" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="start state" value="null" />
+<TGConnectingPoint num="0" id="847" />
+</COMPONENT>
+
+<CONNECTOR type="115" id="849" >
+<cdparam x="407" y="70" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="null" />
+<P1  x="407" y="70" id="847" />
+<P2  x="414" y="112" id="844" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<CONNECTOR type="115" id="850" >
+<cdparam x="414" y="142" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="null" />
+<P1  x="414" y="142" id="845" />
+<P2  x="420" y="175" id="842" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+
+</TMLActivityDiagramPanel>
+
+<TMLActivityDiagramPanel name="Task1" minX="10" maxX="2500" minY="10" maxY="1500" >
+<COMPONENT type="1001" id="852" >
+<cdparam x="423" y="163" />
+<sizeparam width="20" height="20" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="stop state" value="null" />
+<TGConnectingPoint num="0" id="851" />
+</COMPONENT>
+
+<COMPONENT type="1006" id="855" >
+<cdparam x="378" y="98" />
+<sizeparam width="65" height="20" minWidth="30" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="write channel" value="comm(3)" />
+<TGConnectingPoint num="0" id="853" />
+<TGConnectingPoint num="1" id="854" />
+<extraparam>
+<Data channelName="comm" nbOfSamples="3" secPattern="" isAttacker="No" />
+</extraparam>
+</COMPONENT>
+
+<COMPONENT type="1000" id="857" >
+<cdparam x="400" y="50" />
+<sizeparam width="15" height="15" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="start state" value="null" />
+<TGConnectingPoint num="0" id="856" />
+</COMPONENT>
+
+<CONNECTOR type="115" id="858" >
+<cdparam x="407" y="70" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="null" />
+<P1  x="407" y="70" id="856" />
+<P2  x="410" y="93" id="853" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+<CONNECTOR type="115" id="859" >
+<cdparam x="410" y="123" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="null" />
+<P1  x="410" y="123" id="854" />
+<P2  x="433" y="158" id="851" />
+<AutomaticDrawing  data="true" />
+</CONNECTOR>
+
+</TMLActivityDiagramPanel>
+
+</Modeling>
+
+
+
+
+<Modeling type="TML Architecture" nameTab="Architecture" >
+<TMLArchiDiagramPanel name="DIPLODOCUS architecture and mapping Diagram" minX="10" maxX="2500" minY="10" maxY="1500" attributes="0" masterClockFrequency="200" >
+<COMPONENT type="1105" id="884" >
+<cdparam x="669" y="81" />
+<sizeparam width="200" height="200" minWidth="100" minHeight="35" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="Memory0" value="name" />
+<TGConnectingPoint num="0" id="860" />
+<TGConnectingPoint num="1" id="861" />
+<TGConnectingPoint num="2" id="862" />
+<TGConnectingPoint num="3" id="863" />
+<TGConnectingPoint num="4" id="864" />
+<TGConnectingPoint num="5" id="865" />
+<TGConnectingPoint num="6" id="866" />
+<TGConnectingPoint num="7" id="867" />
+<TGConnectingPoint num="8" id="868" />
+<TGConnectingPoint num="9" id="869" />
+<TGConnectingPoint num="10" id="870" />
+<TGConnectingPoint num="11" id="871" />
+<TGConnectingPoint num="12" id="872" />
+<TGConnectingPoint num="13" id="873" />
+<TGConnectingPoint num="14" id="874" />
+<TGConnectingPoint num="15" id="875" />
+<TGConnectingPoint num="16" id="876" />
+<TGConnectingPoint num="17" id="877" />
+<TGConnectingPoint num="18" id="878" />
+<TGConnectingPoint num="19" id="879" />
+<TGConnectingPoint num="20" id="880" />
+<TGConnectingPoint num="21" id="881" />
+<TGConnectingPoint num="22" id="882" />
+<TGConnectingPoint num="23" id="883" />
+<extraparam>
+<info stereotype="MEMORY" nodeName="Memory0" />
+<attributes byteDataSize="4"  memorySize="1024"  clockRatio="1"  bufferType="0" />
+</extraparam>
+</COMPONENT>
+<SUBCOMPONENT type="1103" id="974" >
+<father id="884" num="0" />
+<cdparam x="672" y="150" />
+<sizeparam width="113" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="0" maxX="87" minY="0" maxY="160" />
+<infoparam name="TGComponent" value="Basic::comm" />
+<TGConnectingPoint num="0" id="975" />
+<TGConnectingPoint num="1" id="976" />
+<TGConnectingPoint num="2" id="977" />
+<TGConnectingPoint num="3" id="978" />
+<TGConnectingPoint num="4" id="979" />
+<TGConnectingPoint num="5" id="980" />
+<TGConnectingPoint num="6" id="981" />
+<TGConnectingPoint num="7" id="982" />
+<extraparam>
+<info value="Basic::comm" communicationName="comm" referenceCommunicationName="Basic" priority="0" typeName="channel" />
+</extraparam>
+</SUBCOMPONENT>
+
+<COMPONENT type="1102" id="918" >
+<cdparam x="418" y="340" />
+<sizeparam width="362" height="126" minWidth="100" minHeight="50" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="Bus0" value="name" />
+<TGConnectingPoint num="0" id="894" />
+<TGConnectingPoint num="1" id="895" />
+<TGConnectingPoint num="2" id="896" />
+<TGConnectingPoint num="3" id="897" />
+<TGConnectingPoint num="4" id="898" />
+<TGConnectingPoint num="5" id="899" />
+<TGConnectingPoint num="6" id="900" />
+<TGConnectingPoint num="7" id="901" />
+<TGConnectingPoint num="8" id="902" />
+<TGConnectingPoint num="9" id="903" />
+<TGConnectingPoint num="10" id="904" />
+<TGConnectingPoint num="11" id="905" />
+<TGConnectingPoint num="12" id="906" />
+<TGConnectingPoint num="13" id="907" />
+<TGConnectingPoint num="14" id="908" />
+<TGConnectingPoint num="15" id="909" />
+<TGConnectingPoint num="16" id="910" />
+<TGConnectingPoint num="17" id="911" />
+<TGConnectingPoint num="18" id="912" />
+<TGConnectingPoint num="19" id="913" />
+<TGConnectingPoint num="20" id="914" />
+<TGConnectingPoint num="21" id="915" />
+<TGConnectingPoint num="22" id="916" />
+<TGConnectingPoint num="23" id="917" />
+<extraparam>
+<info stereotype="BUS-RR" nodeName="Bus0" />
+<attributes byteDataSize="4"  arbitrationPolicy="0"  sliceTime="10000"  pipelineSize="1"  clockRatio="1"  privacy="0"  referenceAttack="null" />
+</extraparam>
+</COMPONENT>
+<SUBCOMPONENT type="1103" id="893" >
+<father id="918" num="0" />
+<cdparam x="557" y="388" />
+<sizeparam width="113" height="40" minWidth="75" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="0" maxX="249" minY="0" maxY="86" />
+<infoparam name="TGComponent" value="Basic::comm" />
+<TGConnectingPoint num="0" id="885" />
+<TGConnectingPoint num="1" id="886" />
+<TGConnectingPoint num="2" id="887" />
+<TGConnectingPoint num="3" id="888" />
+<TGConnectingPoint num="4" id="889" />
+<TGConnectingPoint num="5" id="890" />
+<TGConnectingPoint num="6" id="891" />
+<TGConnectingPoint num="7" id="892" />
+<extraparam>
+<info value="Basic::comm" communicationName="comm" referenceCommunicationName="Basic" priority="0" typeName="channel" />
+</extraparam>
+</SUBCOMPONENT>
+
+<COMPONENT type="1100" id="961" >
+<cdparam x="198" y="79" />
+<sizeparam width="250" height="200" minWidth="150" minHeight="100" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="10" maxX="2500" minY="10" maxY="1500" />
+<infoparam name="CPU0" value="name" />
+<TGConnectingPoint num="0" id="937" />
+<TGConnectingPoint num="1" id="938" />
+<TGConnectingPoint num="2" id="939" />
+<TGConnectingPoint num="3" id="940" />
+<TGConnectingPoint num="4" id="941" />
+<TGConnectingPoint num="5" id="942" />
+<TGConnectingPoint num="6" id="943" />
+<TGConnectingPoint num="7" id="944" />
+<TGConnectingPoint num="8" id="945" />
+<TGConnectingPoint num="9" id="946" />
+<TGConnectingPoint num="10" id="947" />
+<TGConnectingPoint num="11" id="948" />
+<TGConnectingPoint num="12" id="949" />
+<TGConnectingPoint num="13" id="950" />
+<TGConnectingPoint num="14" id="951" />
+<TGConnectingPoint num="15" id="952" />
+<TGConnectingPoint num="16" id="953" />
+<TGConnectingPoint num="17" id="954" />
+<TGConnectingPoint num="18" id="955" />
+<TGConnectingPoint num="19" id="956" />
+<TGConnectingPoint num="20" id="957" />
+<TGConnectingPoint num="21" id="958" />
+<TGConnectingPoint num="22" id="959" />
+<TGConnectingPoint num="23" id="960" />
+<extraparam>
+<info stereotype="CPURR" nodeName="CPU0" />
+<attributes nbOfCores="1" byteDataSize="4"  schedulingPolicy="0"  sliceTime="10000"  goIdleTime="10"  maxConsecutiveIdleCycles="10"  pipelineSize="5"  taskSwitchingTime="20"  branchingPredictionPenalty="2"  cacheMiss="5" execiTime="1" execcTime="1" clockRatio="1" MECType="0" encryption="0"/>
+</extraparam>
+</COMPONENT>
+<SUBCOMPONENT type="1101" id="927" >
+<father id="961" num="0" />
+<cdparam x="258" y="136" />
+<sizeparam width="113" height="54" minWidth="100" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="0" maxX="137" minY="0" maxY="146" />
+<infoparam name="TGComponent" value="Basic::Task1" />
+<TGConnectingPoint num="0" id="919" />
+<TGConnectingPoint num="1" id="920" />
+<TGConnectingPoint num="2" id="921" />
+<TGConnectingPoint num="3" id="922" />
+<TGConnectingPoint num="4" id="923" />
+<TGConnectingPoint num="5" id="924" />
+<TGConnectingPoint num="6" id="925" />
+<TGConnectingPoint num="7" id="926" />
+<extraparam>
+<info value="Basic::Task1" taskName="Task1" referenceTaskName="Basic" priority="0" operation="Dest2" fatherComponentMECType="0" />
+</extraparam>
+</SUBCOMPONENT>
+<SUBCOMPONENT type="1101" id="936" >
+<father id="961" num="1" />
+<cdparam x="267" y="218" />
+<sizeparam width="113" height="40" minWidth="100" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<hidden value="false" />
+<cdrectangleparam minX="0" maxX="137" minY="0" maxY="160" />
+<infoparam name="TGComponent" value="Basic::Task2" />
+<TGConnectingPoint num="0" id="928" />
+<TGConnectingPoint num="1" id="929" />
+<TGConnectingPoint num="2" id="930" />
+<TGConnectingPoint num="3" id="931" />
+<TGConnectingPoint num="4" id="932" />
+<TGConnectingPoint num="5" id="933" />
+<TGConnectingPoint num="6" id="934" />
+<TGConnectingPoint num="7" id="935" />
+<extraparam>
+<info value="Basic::Task2" taskName="Task2" referenceTaskName="Basic" priority="0" operation="Dest2" fatherComponentMECType="0" />
+</extraparam>
+</SUBCOMPONENT>
+
+<CONNECTOR type="125" id="962" >
+<cdparam x="719" y="281" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="{info}" />
+<P1  x="719" y="281" id="874" />
+<P2  x="689" y="340" id="903" />
+<AutomaticDrawing  data="true" />
+<extraparam>
+<info priority="0" />
+<spy value="false" />
+</extraparam>
+</CONNECTOR>
+<CONNECTOR type="125" id="963" >
+<cdparam x="385" y="279" />
+<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<infoparam name="connector" value="{info}" />
+<P1  x="385" y="279" id="952" />
+<P2  x="418" y="340" id="894" />
+<AutomaticDrawing  data="true" />
+<extraparam>
+<info priority="0" />
+<spy value="false" />
+</extraparam>
+</CONNECTOR>
+
+</TMLArchiDiagramPanel>
+
+</Modeling>
+
+
+
+
+</TURTLEGMODELING>
\ No newline at end of file
diff --git a/simulators/c++2/src_simulator/TMLTransaction.h b/simulators/c++2/src_simulator/TMLTransaction.h
index 1535dadccbad272bd45e2f2019bad9092d81daa2..bb82e10398784bfd60dcd476a9e150cbbf2e1244 100644
--- a/simulators/c++2/src_simulator/TMLTransaction.h
+++ b/simulators/c++2/src_simulator/TMLTransaction.h
@@ -1,42 +1,42 @@
 /*Copyright or (C) or Copr. GET / ENST, Telecom-Paris, Daniel Knorreck,
-Ludovic Apvrille, Renaud Pacalet
- *
- * ludovic.apvrille AT telecom-paristech.fr
- *
- * This software is a computer program whose purpose is to allow the
- * edition of TURTLE analysis, design and deployment diagrams, to
- * allow the generation of RT-LOTOS or Java code from this diagram,
- * and at last to allow the analysis of formal validation traces
- * obtained from external tools, e.g. RTL from LAAS-CNRS and CADP
- * from INRIA Rhone-Alpes.
- *
- * This software is governed by the CeCILL  license under French law and
- * abiding by the rules of distribution of free software.  You can  use,
- * modify and/ or redistribute the software under the terms of the CeCILL
- * license as circulated by CEA, CNRS and INRIA at the following URL
- * "http://www.cecill.info".
- *
- * As a counterpart to the access to the source code and  rights to copy,
- * modify and redistribute granted by the license, users are provided only
- * with a limited warranty  and the software's author,  the holder of the
- * economic rights,  and the successive licensors  have only  limited
- * liability.
- *
- * In this respect, the user's attention is drawn to the risks associated
- * with loading,  using,  modifying and/or developing or reproducing the
- * software by the user in light of its specific status of free software,
- * that may mean  that it is complicated to manipulate,  and  that  also
- * therefore means  that it is reserved for developers  and  experienced
- * professionals having in-depth computer knowledge. Users are therefore
- * encouraged to load and test the software's suitability as regards their
- * requirements in conditions enabling the security of their systems and/or
- * data to be ensured and,  more generally, to use and operate it in the
- * same conditions as regards security.
- *
- * The fact that you are presently reading this means that you have had
- * knowledge of the CeCILL license and that you accept its terms.
- *
- */
+  Ludovic Apvrille, Renaud Pacalet
+  *
+  * ludovic.apvrille AT telecom-paristech.fr
+  *
+  * This software is a computer program whose purpose is to allow the
+  * edition of TURTLE analysis, design and deployment diagrams, to
+  * allow the generation of RT-LOTOS or Java code from this diagram,
+  * and at last to allow the analysis of formal validation traces
+  * obtained from external tools, e.g. RTL from LAAS-CNRS and CADP
+  * from INRIA Rhone-Alpes.
+  *
+  * This software is governed by the CeCILL  license under French law and
+  * abiding by the rules of distribution of free software.  You can  use,
+  * modify and/ or redistribute the software under the terms of the CeCILL
+  * license as circulated by CEA, CNRS and INRIA at the following URL
+  * "http://www.cecill.info".
+  *
+  * As a counterpart to the access to the source code and  rights to copy,
+  * modify and redistribute granted by the license, users are provided only
+  * with a limited warranty  and the software's author,  the holder of the
+  * economic rights,  and the successive licensors  have only  limited
+  * liability.
+  *
+  * In this respect, the user's attention is drawn to the risks associated
+  * with loading,  using,  modifying and/or developing or reproducing the
+  * software by the user in light of its specific status of free software,
+  * that may mean  that it is complicated to manipulate,  and  that  also
+  * therefore means  that it is reserved for developers  and  experienced
+  * professionals having in-depth computer knowledge. Users are therefore
+  * encouraged to load and test the software's suitability as regards their
+  * requirements in conditions enabling the security of their systems and/or
+  * data to be ensured and,  more generally, to use and operate it in the
+  * same conditions as regards security.
+  *
+  * The fact that you are presently reading this means that you have had
+  * knowledge of the CeCILL license and that you accept its terms.
+  *
+  */
 
 #ifndef TMLTransactionH
 #define TMLTransactionH
@@ -49,222 +49,228 @@ Ludovic Apvrille, Renaud Pacalet
 class TMLChannel;
 
 class TMLTransaction {
-public:
-	///Constructor
-    	/**
-      	\param iCommand Pointer to the command the transaction belongs to
-	\param iVirtualLength Virtual length of the transaction
-	\param iRunnableTime Time when the transaction became runnable
-	\param iChannel Channel on which data was conveyed
-    	*/
-	TMLTransaction(TMLCommand* iCommand, TMLLength iVirtualLength, TMLTime iRunnableTime, TMLChannel* iChannel=0);
-	///Constructor
-	TMLTransaction();
-	///Returns the time when the transaction became runnable
-	/**
-      	\return Runnable time
-    	*/
-	inline TMLTime getRunnableTime() const {return _runnableTime;}
-	///Sets the time when the transaction became runnable
-	/**
-      	\param iRunnableTime Runnable time
-    	*/
-	inline void setRunnableTime(TMLTime iRunnableTime) {_runnableTime = max(_runnableTime,iRunnableTime);}
-	///Returns the start time of the transaction
-	/**
-      	\return Start time
-    	*/
-	inline TMLTime getStartTime() const {return _startTime;}
-	///Returns the start time of the operational part of the transaction
-	/**
-      	\return Start time of the operational part
-    	*/
-	inline TMLTime getStartTimeOperation() const {
+ public:
+  ///Constructor
+  /**
+     \param iCommand Pointer to the command the transaction belongs to
+     \param iVirtualLength Virtual length of the transaction
+     \param iRunnableTime Time when the transaction became runnable
+     \param iChannel Channel on which data was conveyed
+  */
+  TMLTransaction(TMLCommand* iCommand, TMLLength iVirtualLength, TMLTime iRunnableTime, TMLChannel* iChannel=0);
+  ///Constructor
+  TMLTransaction();
+  ///Returns the time when the transaction became runnable
+  /**
+     \return Runnable time
+  */
+  inline TMLTime getRunnableTime() const {return _runnableTime;}
+  ///Sets the time when the transaction became runnable
+  /**
+     \param iRunnableTime Runnable time
+  */
+  inline void setRunnableTime(TMLTime iRunnableTime) {_runnableTime = max(_runnableTime,iRunnableTime);}
+  ///Returns the start time of the transaction
+  /**
+     \return Start time
+  */
+  inline TMLTime getStartTime() const {return _startTime;}
+  ///Returns the start time of the operational part of the transaction
+  /**
+     \return Start time of the operational part
+  */
+  inline TMLTime getStartTimeOperation() const {
 #ifdef PENALTIES_ENABLED
-	  //std::cout << "astartime: " << _startTime << " idlePenatly:" << _idlePenalty  << " switching penalty:" << _taskSwitchingPenalty<< std::endl;
-		return _startTime + _idlePenalty + _taskSwitchingPenalty;
+    //std::cout << "astartime: " << _startTime << " idlePenatly:" << _idlePenalty  << " switching penalty:" << _taskSwitchingPenalty<< std::endl;
+    return _startTime + _idlePenalty + _taskSwitchingPenalty;
 #else
-		return _startTime;
+    return _startTime;
 #endif
-	}
-	///Sets the start time of the transaction
-	/**
-      	\param iStartTime Start time
-    	*/
-	inline void setStartTime(TMLTime iStartTime) {_startTime=iStartTime;
-	  //std::cout << "setting startime: " << _startTime << std::endl;
+  }
+  ///Sets the start time of the transaction
+  /**
+     \param iStartTime Start time
+  */
+  inline void setStartTime(TMLTime iStartTime) {_startTime=iStartTime;
+    //std::cout << "setting startime: " << _startTime << std::endl;
 
-	}
-	///Returns the length of the operational part of the transaction
-	/**
-      	\return Length of the operational part
-    	*/
-	inline TMLTime getOperationLength() const {return _length;}
-	///Returns the length of the operation and penalties
-	/**
-      	\return Overall transaction length
-    	*/
-	inline TMLTime getOverallLength() const{
+  }
+  ///Returns the length of the operational part of the transaction
+  /**
+     \return Length of the operational part
+  */
+  inline TMLTime getOperationLength() const {return _length;}
+  ///Returns the length of the operation and penalties
+  /**
+     \return Overall transaction length
+  */
+  inline TMLTime getOverallLength() const{
 #ifdef PENALTIES_ENABLED
-	return _length + _idlePenalty + _taskSwitchingPenalty;
+    return _length + _idlePenalty + _taskSwitchingPenalty;
 #else
-	return _length;
+    return _length;
 #endif
-	}
-	///Sets the length of the transaction
-	/**
-      	\param iLength Length of the transaction
-    	*/
-	inline void setLength(TMLTime iLength) {_length=iLength;}
-	///Returns the length of all penalties
-	/**
-      	\return Length of penalties
-    	*/
-	inline TMLTime getPenalties() const{
+  }
+  ///Sets the length of the transaction
+  /**
+     \param iLength Length of the transaction
+  */
+  inline void setLength(TMLTime iLength) {_length=iLength;}
+
+  /**
+     \return length of the transaction
+  */
+  inline TMLLength getLength() const {return _length;}
+  
+  ///Returns the length of all penalties
+  /**
+     \return Length of penalties
+  */
+  inline TMLTime getPenalties() const{
 #ifdef PENALTIES_ENABLED
-		return _idlePenalty + _taskSwitchingPenalty;
+    return _idlePenalty + _taskSwitchingPenalty;
 #else
-		return 0;
+    return 0;
 #endif
-	}
-	///Returns the virtual length of the transaction (number of execution units already carried out by previous transactions)
-	/**
-      	\return Virtual length
-    	*/
-	inline TMLLength getVirtualLength() const {return _virtualLength;}
-	///Sets the virtual length of the transaction (number of execution units already carried out by previous transactions)
-	/**
-      	\param iLength Virtual length of the transaction
-    	*/
-	inline void setVirtualLength(TMLLength iLength) {_virtualLength=iLength;}
-	///Returns a pointer to the command the transaction belongs to
-	/**
-      	\return Pointer to command
-    	*/
-	inline TMLCommand* getCommand() const {return _command;}
-	///Returns the end time of the transaction
-	/**
-      	\return End time
-    	*/
-	inline TMLTime getEndTime() const{
+  }
+  ///Returns the virtual length of the transaction (number of execution units already carried out by previous transactions)
+  /**
+     \return Virtual length
+  */
+  inline TMLLength getVirtualLength() const {return _virtualLength;}
+  ///Sets the virtual length of the transaction (number of execution units already carried out by previous transactions)
+  /**
+     \param iLength Virtual length of the transaction
+  */
+  inline void setVirtualLength(TMLLength iLength) {_virtualLength=iLength;}
+  ///Returns a pointer to the command the transaction belongs to
+  /**
+     \return Pointer to command
+  */
+  inline TMLCommand* getCommand() const {return _command;}
+  ///Returns the end time of the transaction
+  /**
+     \return End time
+  */
+  inline TMLTime getEndTime() const{
 #ifdef PENALTIES_ENABLED
-		return _startTime  + _length + _idlePenalty + _taskSwitchingPenalty;
+    return _startTime  + _length + _idlePenalty + _taskSwitchingPenalty;
 #else
-		return _startTime  + _length;
+    return _startTime  + _length;
 #endif
-	}
-	///Returns the idle panalty of the transaction
-	/**
-      	\return Idle panalty
-    	*/
-	inline TMLTime getIdlePenalty() const{
+  }
+  ///Returns the idle panalty of the transaction
+  /**
+     \return Idle penalty
+  */
+  inline TMLTime getIdlePenalty() const{
 #ifdef PENALTIES_ENABLED
-		return _idlePenalty;
+    return _idlePenalty;
 #else
-		return 0;
+    return 0;
 #endif
-	}
-	///Sets the idle panalty of the transaction
-	/**
-      	\param iIdlePenalty Idle penalty
-    	*/
-	inline void setIdlePenalty(TMLTime iIdlePenalty){
+  }
+  ///Sets the idle panalty of the transaction
+  /**
+     \param iIdlePenalty Idle penalty
+  */
+  inline void setIdlePenalty(TMLTime iIdlePenalty){
 #ifdef PENALTIES_ENABLED
-		_idlePenalty=iIdlePenalty;
+    _idlePenalty=iIdlePenalty;
 #endif
-	}
-	///Returns the task switching penalty of the transaction
-	/**
-      	\return Task switching penalty
-    	*/	
-	inline TMLTime getTaskSwitchingPenalty() const{
+  }
+  ///Returns the task switching penalty of the transaction
+  /**
+     \return Task switching penalty
+  */
+  inline TMLTime getTaskSwitchingPenalty() const{
 #ifdef PENALTIES_ENABLED
-		return _taskSwitchingPenalty;
+    return _taskSwitchingPenalty;
 #else
-		return 0;
+    return 0;
 #endif
-	}
-	///Sets the task switching penalty of the transaction
-	/**
-      	\param iTaskSwitchingPenalty Task switching penalty
-    	*/	
-	inline void setTaskSwitchingPenalty(TMLTime iTaskSwitchingPenalty){
+  }
+  ///Sets the task switching penalty of the transaction
+  /**
+     \param iTaskSwitchingPenalty Task switching penalty
+  */
+  inline void setTaskSwitchingPenalty(TMLTime iTaskSwitchingPenalty){
 #ifdef PENALTIES_ENABLED
-	_taskSwitchingPenalty=iTaskSwitchingPenalty;
-#endif	
-	}
-	/////Returns the branching penalty of the transaction
-	////**
-      	//\return Branching penalty
-    	//*/	
-	//TMLTime getBranchingPenalty() const;
-	////Sets the branching panalty of the transaction
-	////**
-      	////\param iBranchingPenalty Branching penalty
-    	//*/
-	//void setBranchingPenalty(TMLTime iBranchingPenalty);
-	///Returns a string representation of the transaction
-	/**
-	\return Detailed string representation
-	*/
-	std::string printEnd() const;
-	std::string toString() const;
-	///Returns a short string representation of the transaction
-	/**
-	\return Short string representation
-	*/
-	std::string toShortString() const;
-	///Set channel on which data was conveyed
-	/**
-	\param iChannel Pointer to a channel
-	*/
-	inline void setChannel(TMLChannel* iChannel) {_channel=iChannel;}
-	///Get channel on which data was conveyed
+    _taskSwitchingPenalty=iTaskSwitchingPenalty;
+#endif
+  }
+  /////Returns the branching penalty of the transaction
+  ////**
+  //\return Branching penalty
+  //*/
+  //TMLTime getBranchingPenalty() const;
+  ////Sets the branching panalty of the transaction
+  ////**
+  ////\param iBranchingPenalty Branching penalty
+  //*/
+  //void setBranchingPenalty(TMLTime iBranchingPenalty);
+  ///Returns a string representation of the transaction
+  /**
+     \return Detailed string representation
+  */
+  std::string printEnd() const;
+  std::string toString() const;
+  ///Returns a short string representation of the transaction
+  /**
+     \return Short string representation
+  */
+  std::string toShortString() const;
+  ///Set channel on which data was conveyed
+  /**
+     \param iChannel Pointer to a channel
+  */
+  inline void setChannel(TMLChannel* iChannel) {_channel=iChannel;}
+  ///Get channel on which data was conveyed
+
+
+  /**
+     \return Pointer to channel
+  */
+  inline TMLChannel* getChannel() const {return _channel;}
+  inline static void * operator new(size_t size) {return memPool.pmalloc(size);}
+  inline static void operator delete(void *p, size_t size) {memPool.pfree(p, size);}
+  inline static void reset() {memPool.reset();}
+  inline static void incID() {_ID++;}
+  inline static ID getID() {return _ID;}
+  inline static void resetID() {_ID=1;}
+  inline void setStateID(ID iID) {_stateID=iID;}
+  inline ID getStateID() {return _stateID;}
+  inline void setTaskID(ID iID) {_taskID=iID;}
+  void toXML(std::ostringstream& glob, int deviceID, std::string deviceName) const;
 
-	
-	/**
-	\return Pointer to channel
-	*/
-	inline TMLChannel* getChannel() const {return _channel;}
-	inline static void * operator new(size_t size) {return memPool.pmalloc(size);}
-	inline static void operator delete(void *p, size_t size) {memPool.pfree(p, size);}
-	inline static void reset() {memPool.reset();}
-	inline static void incID() {_ID++;}
-	inline static ID getID() {return _ID;}
-	inline static void resetID() {_ID=1;}
-	inline void setStateID(ID iID) {_stateID=iID;}
-	inline ID getStateID() {return _stateID;}
-	inline void setTaskID(ID iID) {_taskID=iID;}
-	void toXML(std::ostringstream& glob, int deviceID, std::string deviceName) const;
-	
 
-protected:
-	///Time when the transaction became runnable
-	TMLTime _runnableTime;
-	///Start time of the transaction
-	TMLTime _startTime;
-	///Length of the transaction
-	TMLTime _length;
-	///Virtual length of the transaction (number of execution units of the transaction)
-	TMLLength _virtualLength;
-	///Pointer to the command the transaction belongs to
-	TMLCommand* _command;
+ protected:
+  ///Time when the transaction became runnable
+  TMLTime _runnableTime;
+  ///Start time of the transaction
+  TMLTime _startTime;
+  ///Length of the transaction
+  TMLTime _length;
+  ///Virtual length of the transaction (number of execution units of the transaction)
+  TMLLength _virtualLength;
+  ///Pointer to the command the transaction belongs to
+  TMLCommand* _command;
 #ifdef PENALTIES_ENABLED
-	///Idle penalty
-	TMLTime _idlePenalty;
-	///Task switching penalty
-	TMLTime _taskSwitchingPenalty;
-	/////Branching penalty
-	//TMLTime _branchingPenalty;
+  ///Idle penalty
+  TMLTime _idlePenalty;
+  ///Task switching penalty
+  TMLTime _taskSwitchingPenalty;
+  /////Branching penalty
+  //TMLTime _branchingPenalty;
 #endif
-	///Channel on which data was conveyed
-	TMLChannel* _channel;
-	ID _stateID;
-	ID _taskID;
-	///Memory pool for transactions
-	static MemPoolNoDel<TMLTransaction> memPool;
-	///Current Transaction ID
-	static ID _ID;
+  ///Channel on which data was conveyed
+  TMLChannel* _channel;
+  ID _stateID;
+  ID _taskID;
+  ///Memory pool for transactions
+  static MemPoolNoDel<TMLTransaction> memPool;
+  ///Current Transaction ID
+  static ID _ID;
 };
 
 #endif
diff --git a/simulators/c++2/src_simulator/app/TMLChannel.cpp b/simulators/c++2/src_simulator/app/TMLChannel.cpp
index f4117d964180688ac9d8110a939e54b655394ba3..da05937a11545bf0f771f12b73753285e54eba5c 100755
--- a/simulators/c++2/src_simulator/app/TMLChannel.cpp
+++ b/simulators/c++2/src_simulator/app/TMLChannel.cpp
@@ -1,42 +1,42 @@
 /*Copyright or (C) or Copr. GET / ENST, Telecom-Paris, Daniel Knorreck,
-Ludovic Apvrille, Renaud Pacalet
- *
- * ludovic.apvrille AT telecom-paristech.fr
- *
- * This software is a computer program whose purpose is to allow the
- * edition of TURTLE analysis, design and deployment diagrams, to
- * allow the generation of RT-LOTOS or Java code from this diagram,
- * and at last to allow the analysis of formal validation traces
- * obtained from external tools, e.g. RTL from LAAS-CNRS and CADP
- * from INRIA Rhone-Alpes.
- *
- * This software is governed by the CeCILL  license under French law and
- * abiding by the rules of distribution of free software.  You can  use,
- * modify and/ or redistribute the software under the terms of the CeCILL
- * license as circulated by CEA, CNRS and INRIA at the following URL
- * "http://www.cecill.info".
- *
- * As a counterpart to the access to the source code and  rights to copy,
- * modify and redistribute granted by the license, users are provided only
- * with a limited warranty  and the software's author,  the holder of the
- * economic rights,  and the successive licensors  have only  limited
- * liability.
- *
- * In this respect, the user's attention is drawn to the risks associated
- * with loading,  using,  modifying and/or developing or reproducing the
- * software by the user in light of its specific status of free software,
- * that may mean  that it is complicated to manipulate,  and  that  also
- * therefore means  that it is reserved for developers  and  experienced
- * professionals having in-depth computer knowledge. Users are therefore
- * encouraged to load and test the software's suitability as regards their
- * requirements in conditions enabling the security of their systems and/or
- * data to be ensured and,  more generally, to use and operate it in the
- * same conditions as regards security.
- *
- * The fact that you are presently reading this means that you have had
- * knowledge of the CeCILL license and that you accept its terms.
- *
- */
+  Ludovic Apvrille, Renaud Pacalet
+  *
+  * ludovic.apvrille AT telecom-paristech.fr
+  *
+  * This software is a computer program whose purpose is to allow the
+  * edition of TURTLE analysis, design and deployment diagrams, to
+  * allow the generation of RT-LOTOS or Java code from this diagram,
+  * and at last to allow the analysis of formal validation traces
+  * obtained from external tools, e.g. RTL from LAAS-CNRS and CADP
+  * from INRIA Rhone-Alpes.
+  *
+  * This software is governed by the CeCILL  license under French law and
+  * abiding by the rules of distribution of free software.  You can  use,
+  * modify and/ or redistribute the software under the terms of the CeCILL
+  * license as circulated by CEA, CNRS and INRIA at the following URL
+  * "http://www.cecill.info".
+  *
+  * As a counterpart to the access to the source code and  rights to copy,
+  * modify and redistribute granted by the license, users are provided only
+  * with a limited warranty  and the software's author,  the holder of the
+  * economic rights,  and the successive licensors  have only  limited
+  * liability.
+  *
+  * In this respect, the user's attention is drawn to the risks associated
+  * with loading,  using,  modifying and/or developing or reproducing the
+  * software by the user in light of its specific status of free software,
+  * that may mean  that it is complicated to manipulate,  and  that  also
+  * therefore means  that it is reserved for developers  and  experienced
+  * professionals having in-depth computer knowledge. Users are therefore
+  * encouraged to load and test the software's suitability as regards their
+  * requirements in conditions enabling the security of their systems and/or
+  * data to be ensured and,  more generally, to use and operate it in the
+  * same conditions as regards security.
+  *
+  * The fact that you are presently reading this means that you have had
+  * knowledge of the CeCILL license and that you accept its terms.
+  *
+  */
 
 #include <TMLChannel.h>
 #include <BusMaster.h>
@@ -47,85 +47,85 @@ TMLChannel::TMLChannel(ID iID, std::string iName, unsigned int iWidth, unsigned
 }
 
 TMLChannel::~TMLChannel(){
-	if (_masters!=0) delete[] _masters;
-	if (_slaves!=0) delete[] _slaves;
+  if (_masters!=0) delete[] _masters;
+  if (_slaves!=0) delete[] _slaves;
 }
 
 BusMaster* TMLChannel::getNextMaster(TMLTransaction* iTrans){
-	//if (iTrans->getCommand()->getTask()==_writeTask){
-	if (iTrans==_writeTrans){
-		_writeTransCurrHop++;
-		//if (_writeTransCurrHop>0 && _masters[_writeTransCurrHop]->getBus()==_masters[_writeTransCurrHop-1]->getBus()) return 0;
-		if (_writeTransCurrHop>0 && (_masters[_writeTransCurrHop]->getBus()==_masters[_writeTransCurrHop-1]->getBus() || _slaves[_writeTransCurrHop-1]==0)) return 0; //NEW!!!
-		return _masters[_writeTransCurrHop];
-	}else{
-		_readTransCurrHop--;
-		//if (_readTransCurrHop<_numberOfHops-1 && _masters[_readTransCurrHop]->getBus()==_masters[_readTransCurrHop+1]->getBus()) return 0;
-		if (_readTransCurrHop<_numberOfHops-1 && _masters[_readTransCurrHop]->getBus()==_masters[_readTransCurrHop+1]->getBus()) return 0;
-		return _masters[_readTransCurrHop];
-	}
+  //if (iTrans->getCommand()->getTask()==_writeTask){
+  if (iTrans==_writeTrans){
+    _writeTransCurrHop++;
+    //if (_writeTransCurrHop>0 && _masters[_writeTransCurrHop]->getBus()==_masters[_writeTransCurrHop-1]->getBus()) return 0;
+    if (_writeTransCurrHop>0 && (_masters[_writeTransCurrHop]->getBus()==_masters[_writeTransCurrHop-1]->getBus() || _slaves[_writeTransCurrHop-1]==0)) return 0; //NEW!!!
+    return _masters[_writeTransCurrHop];
+  }else{
+    _readTransCurrHop--;
+    //if (_readTransCurrHop<_numberOfHops-1 && _masters[_readTransCurrHop]->getBus()==_masters[_readTransCurrHop+1]->getBus()) return 0;
+    if (_readTransCurrHop<_numberOfHops-1 && _masters[_readTransCurrHop]->getBus()==_masters[_readTransCurrHop+1]->getBus()) return 0;
+    return _masters[_readTransCurrHop];
+  }
 }
 
 BusMaster* TMLChannel::getFirstMaster(TMLTransaction* iTrans){
-	//if (iTrans->getCommand()->getTask()==_writeTask){
-	//std::cout << "fima 1\n";
-	if (_masters==0 || _slaves==0 || _numberOfHops==0) return 0;
-	//std::cout << "fima 2\n";
-	if (iTrans==_writeTrans){
-	//if (iTrans->getCommand()->getTask()==_writeTask){
-		//std::cout << "fima 3\n";
-		_writeTransCurrHop=0;
-		return _masters[_writeTransCurrHop];
-	}else{
-		//std::cout << "fima 4\n";
-		if (_slaves[(_numberOfHops/2)]==0) return 0;	//NEW!!!
-		//std::cout << "fima 5\n";
-		_readTransCurrHop=_numberOfHops-1;
-		return _masters[_readTransCurrHop];
-	}
+  //if (iTrans->getCommand()->getTask()==_writeTask){
+  //std::cout << "fima 1\n";
+  if (_masters==0 || _slaves==0 || _numberOfHops==0) return 0;
+  //std::cout << "fima 2\n";
+  if (iTrans==_writeTrans){
+    //if (iTrans->getCommand()->getTask()==_writeTask){
+    //std::cout << "fima 3\n";
+    _writeTransCurrHop=0;
+    return _masters[_writeTransCurrHop];
+  }else{
+    //std::cout << "fima 4\n";
+    if (_slaves[(_numberOfHops/2)]==0) return 0;        //NEW!!!
+    //std::cout << "fima 5\n";
+    _readTransCurrHop=_numberOfHops-1;
+    return _masters[_readTransCurrHop];
+  }
 }
-	
+
 Slave* TMLChannel::getNextSlave(TMLTransaction* iTrans) const{
-	//if (iTrans->getCommand()->getTask()==_writeTask){
-	if (iTrans==_writeTrans){
-		return _slaves[_writeTransCurrHop];
-	}else{
-		return _slaves[_readTransCurrHop];
-	}
+  //if (iTrans->getCommand()->getTask()==_writeTask){
+  if (iTrans==_writeTrans){
+    return _slaves[_writeTransCurrHop];
+  }else{
+    return _slaves[_readTransCurrHop];
+  }
 }
 
 std::ostream& TMLChannel::writeObject(std::ostream& s){
-	//WRITE_STREAM(s,_writeTransCurrHop);
-	//WRITE_STREAM(s,_readTransCurrHop);
-	//if (_ID==53 && _significance==0) std::cout << "failure before write\n";
-	WRITE_STREAM(s, _significance);
-	return s;
+  //WRITE_STREAM(s,_writeTransCurrHop);
+  //WRITE_STREAM(s,_readTransCurrHop);
+  //if (_ID==53 && _significance==0) std::cout << "failure before write\n";
+  WRITE_STREAM(s, _significance);
+  return s;
 }
 std::istream& TMLChannel::readObject(std::istream& s){
-	//READ_STREAM(s,_writeTransCurrHop);
-	//READ_STREAM(s,_readTransCurrHop);
-	READ_STREAM(s, _significance);
-	//if (_ID==53 && _significance==0) std::cout << "failure after read\n";
-	//std::cout << "read\n";
-	return s;
+  //READ_STREAM(s,_writeTransCurrHop);
+  //READ_STREAM(s,_readTransCurrHop);
+  READ_STREAM(s, _significance);
+  //if (_ID==53 && _significance==0) std::cout << "failure after read\n";
+  //std::cout << "read\n";
+  return s;
 }
 
 void TMLChannel::reset(){
-	//std::cout << "Channel reset" << std::endl;
-	_writeTrans=0;
-	_readTrans=0;
-	_writeTransCurrHop=0;
-	_readTransCurrHop=_numberOfHops-1;
-	_significance=0;
-	//std::cout << "reset\n";
-	//std::cout << "Channel reset end" << std::endl;
+  //std::cout << "Channel reset" << std::endl;
+  _writeTrans=0;
+  _readTrans=0;
+  _writeTransCurrHop=0;
+  _readTransCurrHop=_numberOfHops-1;
+  _significance=0;
+  //std::cout << "reset\n";
+  //std::cout << "Channel reset end" << std::endl;
 }
 
 void TMLChannel::setSignificance(TMLTask* iTask, bool iSignificance){
-	//unsigned int aInput = (iTask==_writeTask)?1:2;
-	unsigned char aInput = (iTask==_writeTask)?1:2;
-	if (iSignificance)
-		_significance |= aInput;
-	else
-		_significance &= (~aInput);
+  //unsigned int aInput = (iTask==_writeTask)?1:2;
+  unsigned char aInput = (iTask==_writeTask)?1:2;
+  if (iSignificance)
+    _significance |= aInput;
+  else
+    _significance &= (~aInput);
 }
diff --git a/simulators/c++2/src_simulator/app/TMLReadCommand.cpp b/simulators/c++2/src_simulator/app/TMLReadCommand.cpp
index 9611d47c3fae17baed5ec73366e67e722540a30c..91e51f80baae10bcb0ed2adacee3211e3fb88ce2 100755
--- a/simulators/c++2/src_simulator/app/TMLReadCommand.cpp
+++ b/simulators/c++2/src_simulator/app/TMLReadCommand.cpp
@@ -1,42 +1,42 @@
 /*Copyright or (C) or Copr. GET / ENST, Telecom-Paris, Daniel Knorreck,
-Ludovic Apvrille, Renaud Pacalet
- *
- * ludovic.apvrille AT telecom-paristech.fr
- *
- * This software is a computer program whose purpose is to allow the
- * edition of TURTLE analysis, design and deployment diagrams, to
- * allow the generation of RT-LOTOS or Java code from this diagram,
- * and at last to allow the analysis of formal validation traces
- * obtained from external tools, e.g. RTL from LAAS-CNRS and CADP
- * from INRIA Rhone-Alpes.
- *
- * This software is governed by the CeCILL  license under French law and
- * abiding by the rules of distribution of free software.  You can  use,
- * modify and/ or redistribute the software under the terms of the CeCILL
- * license as circulated by CEA, CNRS and INRIA at the following URL
- * "http://www.cecill.info".
- *
- * As a counterpart to the access to the source code and  rights to copy,
- * modify and redistribute granted by the license, users are provided only
- * with a limited warranty  and the software's author,  the holder of the
- * economic rights,  and the successive licensors  have only  limited
- * liability.
- *
- * In this respect, the user's attention is drawn to the risks associated
- * with loading,  using,  modifying and/or developing or reproducing the
- * software by the user in light of its specific status of free software,
- * that may mean  that it is complicated to manipulate,  and  that  also
- * therefore means  that it is reserved for developers  and  experienced
- * professionals having in-depth computer knowledge. Users are therefore
- * encouraged to load and test the software's suitability as regards their
- * requirements in conditions enabling the security of their systems and/or
- * data to be ensured and,  more generally, to use and operate it in the
- * same conditions as regards security.
- *
- * The fact that you are presently reading this means that you have had
- * knowledge of the CeCILL license and that you accept its terms.
- *
- */
+  Ludovic Apvrille, Renaud Pacalet
+  *
+  * ludovic.apvrille AT telecom-paristech.fr
+  *
+  * This software is a computer program whose purpose is to allow the
+  * edition of TURTLE analysis, design and deployment diagrams, to
+  * allow the generation of RT-LOTOS or Java code from this diagram,
+  * and at last to allow the analysis of formal validation traces
+  * obtained from external tools, e.g. RTL from LAAS-CNRS and CADP
+  * from INRIA Rhone-Alpes.
+  *
+  * This software is governed by the CeCILL  license under French law and
+  * abiding by the rules of distribution of free software.  You can  use,
+  * modify and/ or redistribute the software under the terms of the CeCILL
+  * license as circulated by CEA, CNRS and INRIA at the following URL
+  * "http://www.cecill.info".
+  *
+  * As a counterpart to the access to the source code and  rights to copy,
+  * modify and redistribute granted by the license, users are provided only
+  * with a limited warranty  and the software's author,  the holder of the
+  * economic rights,  and the successive licensors  have only  limited
+  * liability.
+  *
+  * In this respect, the user's attention is drawn to the risks associated
+  * with loading,  using,  modifying and/or developing or reproducing the
+  * software by the user in light of its specific status of free software,
+  * that may mean  that it is complicated to manipulate,  and  that  also
+  * therefore means  that it is reserved for developers  and  experienced
+  * professionals having in-depth computer knowledge. Users are therefore
+  * encouraged to load and test the software's suitability as regards their
+  * requirements in conditions enabling the security of their systems and/or
+  * data to be ensured and,  more generally, to use and operate it in the
+  * same conditions as regards security.
+  *
+  * The fact that you are presently reading this means that you have had
+  * knowledge of the CeCILL license and that you accept its terms.
+  *
+  */
 
 #include <TMLReadCommand.h>
 #include <TMLTask.h>
@@ -44,54 +44,56 @@ Ludovic Apvrille, Renaud Pacalet
 #include <Bus.h>
 
 TMLReadCommand::TMLReadCommand(ID iID, TMLTask* iTask, LengthFuncPointer iLengthFunc, TMLChannel* iChannel, const char* iLiveVarList, bool iCheckpoint, TMLLength iStatLength): TMLCommand(iID, iTask, 1, 1, iLiveVarList, iCheckpoint),_lengthFunc(iLengthFunc), _channel(iChannel){
-	_length = iStatLength * _channel->getWidth();
-	_type=RD;
+  _length = iStatLength * _channel->getWidth();
+  _type=RD;
 }
 
 void TMLReadCommand::execute(){
-	_channel->read();
-	_progress+=_currTransaction->getVirtualLength();
-	//_task->setEndLastTransaction(_currTransaction->getEndTime());
-	//std::cout << "ReadCommand progress: " << _progress << std::endl;
-	_task->addTransaction(_currTransaction);
-	prepare(false);
-	//if (aNextCommand==0) _currTransaction->setTerminatedFlag();
-	//if (_progress==0 && aNextCommand!=this) _currTransaction=0;
+  //std::cout << "Length of read:" << _length << std::endl;
+  _channel->read();
+  //std::cout << _currTransaction->getVirtualLength() << " samples read\n";
+  _progress+=_currTransaction->getVirtualLength();
+  //_task->setEndLastTransaction(_currTransaction->getEndTime());
+  //std::cout << "Read Command progress: " << _progress << std::endl << std::endl;
+  _task->addTransaction(_currTransaction);
+  prepare(false);
+  //if (aNextCommand==0) _currTransaction->setTerminatedFlag();
+  //if (_progress==0 && aNextCommand!=this) _currTransaction=0;
 }
 
 TMLCommand* TMLReadCommand::prepareNextTransaction(){
-	//std::cout << "ReadCommand prepare" << std::endl;
-	//std::cout << "length of read: "<< *_pLength << std::endl;
-	//if (_progress==0) _length = (_task->*_lengthFunc)();
+  //std::cout << "ReadCommand prepare" << std::endl;
+  //std::cout << "length of read: "<< *_pLength << std::endl;
+  //if (_progress==0) _length = (_task->*_lengthFunc)();
 
-	//new test code
-	if (_progress==0){
-		if (_lengthFunc!=0) _length = (_task->*_lengthFunc)() * _channel->getWidth();
-		if (_length==0){
-			TMLCommand* aNextCommand=getNextCommand();
-			_task->setCurrCommand(aNextCommand);
-			if (aNextCommand!=0) return aNextCommand->prepare(false);
-		}
-	}
+  //new test code
+  if (_progress==0){
+    if (_lengthFunc!=0) _length = (_task->*_lengthFunc)() * _channel->getWidth();
+    if (_length==0){
+      TMLCommand* aNextCommand=getNextCommand();
+      _task->setCurrCommand(aNextCommand);
+      if (aNextCommand!=0) return aNextCommand->prepare(false);
+    }
+  }
 
-	//_currTransaction = ::new (&transBuffer) TMLTransaction(this, _length-_progress, _task->getEndLastTransaction(), _channel);
-	_currTransaction = new TMLTransaction(this, _length-_progress, _task->getEndLastTransaction(), _channel);
-	//std::cout << "before test read" << std::endl;
-	//std::cout << "--begin-- TMLReadCommand::prepareNextTransaction\n"; 
-	_channel->testRead(_currTransaction);
-	//std::cout << "--end-- TMLReadCommand::prepareNextTransaction\n"; 
-	//std::cout << "ReadCommand end prepare: " << _currTransaction->toString() << std::endl;
-	return this;
+  //_currTransaction = ::new (&transBuffer) TMLTransaction(this, _length-_progress, _task->getEndLastTransaction(), _channel);
+  _currTransaction = new TMLTransaction(this, _length-_progress, _task->getEndLastTransaction(), _channel);
+  //std::cout << "before test read" << std::endl;
+  //std::cout << "--begin-- TMLReadCommand::prepareNextTransaction\n";
+  _channel->testRead(_currTransaction);
+  //std::cout << "--end-- TMLReadCommand::prepareNextTransaction\n";
+  //std::cout << "ReadCommand end prepare: " << _currTransaction->toString() << std::endl;
+  return this;
 }
 
 std::string TMLReadCommand::toString() const{
-	std::ostringstream outp;
-	outp << "Read in " << TMLCommand::toString() << " " <<_channel->toString();
-	return outp.str();
+  std::ostringstream outp;
+  outp << "Read in " << TMLCommand::toString() << " " <<_channel->toString();
+  return outp.str();
 }
 
 std::string TMLReadCommand::toShortString() const{
-	std::ostringstream outp;
-	outp << _task->toString() << ": Read " << _length << "," << _channel->toShortString();
-	return outp.str();
+  std::ostringstream outp;
+  outp << _task->toString() << ": Read " << _length << "," << _channel->toShortString();
+  return outp.str();
 }
diff --git a/simulators/c++2/src_simulator/app/TMLWriteCommand.cpp b/simulators/c++2/src_simulator/app/TMLWriteCommand.cpp
index 9aca09f289653d665b276543337b1ed507d0c922..8f8a4c9a6b52da35d10a128ed9dd7ed2b8631923 100755
--- a/simulators/c++2/src_simulator/app/TMLWriteCommand.cpp
+++ b/simulators/c++2/src_simulator/app/TMLWriteCommand.cpp
@@ -50,11 +50,13 @@ TMLWriteCommand::TMLWriteCommand(ID iID, TMLTask* iTask, LengthFuncPointer iLeng
 }
 
 void TMLWriteCommand::execute(){
-	//std::cout << "in write " << _channel << "\n";
+	std::cout << "in write " << _channel << "\n";
+        std::cout << "Length of write:" << _length << std::endl;
 	_channel->write();
 	//std::cout << "channel not zero\n";
-	//std::cout << _currTransaction->getVirtualLength() << " samples written\n";
+	std::cout << _currTransaction->getVirtualLength() << " samples written\n";
 	_progress+=_currTransaction->getVirtualLength();
+	 std::cout << "WriteCommand progress: " << _progress << std::endl << std::endl;
 	//_task->setEndLastTransaction(_currTransaction->getEndTime());
 	_task->addTransaction(_currTransaction);
 	//std::cout << "Trans written: " << _currTransaction->toString() << "\n";
diff --git a/simulators/c++2/src_simulator/app/TMLWriteCommand.h b/simulators/c++2/src_simulator/app/TMLWriteCommand.h
index 4de9c2bfda54e6c752928c4711d5234beed1a205..a1b492f27411367d2771e676e3fca79bfb9370d2 100755
--- a/simulators/c++2/src_simulator/app/TMLWriteCommand.h
+++ b/simulators/c++2/src_simulator/app/TMLWriteCommand.h
@@ -46,7 +46,7 @@ Ludovic Apvrille, Renaud Pacalet
 #include <TMLChannel.h>
 
 ///This class models write operations on TML channels.
-class TMLWriteCommand:public TMLCommand{
+class TMLWriteCommand:public TMLCommand {
 public:
 	///Constructor
     	/**
diff --git a/simulators/c++2/src_simulator/app/TMLbrbwChannel.cpp b/simulators/c++2/src_simulator/app/TMLbrbwChannel.cpp
index edccc4ad9674dd5dd7c0f66a310af3d92b6bc830..ee88335d2e58531c46ac4564cca2183e0a956fa6 100755
--- a/simulators/c++2/src_simulator/app/TMLbrbwChannel.cpp
+++ b/simulators/c++2/src_simulator/app/TMLbrbwChannel.cpp
@@ -1,42 +1,42 @@
 /*Copyright or (C) or Copr. GET / ENST, Telecom-Paris, Daniel Knorreck,
-Ludovic Apvrille, Renaud Pacalet
- *
- * ludovic.apvrille AT telecom-paristech.fr
- *
- * This software is a computer program whose purpose is to allow the
- * edition of TURTLE analysis, design and deployment diagrams, to
- * allow the generation of RT-LOTOS or Java code from this diagram,
- * and at last to allow the analysis of formal validation traces
- * obtained from external tools, e.g. RTL from LAAS-CNRS and CADP
- * from INRIA Rhone-Alpes.
- *
- * This software is governed by the CeCILL  license under French law and
- * abiding by the rules of distribution of free software.  You can  use,
- * modify and/ or redistribute the software under the terms of the CeCILL
- * license as circulated by CEA, CNRS and INRIA at the following URL
- * "http://www.cecill.info".
- *
- * As a counterpart to the access to the source code and  rights to copy,
- * modify and redistribute granted by the license, users are provided only
- * with a limited warranty  and the software's author,  the holder of the
- * economic rights,  and the successive licensors  have only  limited
- * liability.
- *
- * In this respect, the user's attention is drawn to the risks associated
- * with loading,  using,  modifying and/or developing or reproducing the
- * software by the user in light of its specific status of free software,
- * that may mean  that it is complicated to manipulate,  and  that  also
- * therefore means  that it is reserved for developers  and  experienced
- * professionals having in-depth computer knowledge. Users are therefore
- * encouraged to load and test the software's suitability as regards their
- * requirements in conditions enabling the security of their systems and/or
- * data to be ensured and,  more generally, to use and operate it in the
- * same conditions as regards security.
- *
- * The fact that you are presently reading this means that you have had
- * knowledge of the CeCILL license and that you accept its terms.
- *
- */
+  Ludovic Apvrille, Renaud Pacalet
+  *
+  * ludovic.apvrille AT telecom-paristech.fr
+  *
+  * This software is a computer program whose purpose is to allow the
+  * edition of TURTLE analysis, design and deployment diagrams, to
+  * allow the generation of RT-LOTOS or Java code from this diagram,
+  * and at last to allow the analysis of formal validation traces
+  * obtained from external tools, e.g. RTL from LAAS-CNRS and CADP
+  * from INRIA Rhone-Alpes.
+  *
+  * This software is governed by the CeCILL  license under French law and
+  * abiding by the rules of distribution of free software.  You can  use,
+  * modify and/ or redistribute the software under the terms of the CeCILL
+  * license as circulated by CEA, CNRS and INRIA at the following URL
+  * "http://www.cecill.info".
+  *
+  * As a counterpart to the access to the source code and  rights to copy,
+  * modify and redistribute granted by the license, users are provided only
+  * with a limited warranty  and the software's author,  the holder of the
+  * economic rights,  and the successive licensors  have only  limited
+  * liability.
+  *
+  * In this respect, the user's attention is drawn to the risks associated
+  * with loading,  using,  modifying and/or developing or reproducing the
+  * software by the user in light of its specific status of free software,
+  * that may mean  that it is complicated to manipulate,  and  that  also
+  * therefore means  that it is reserved for developers  and  experienced
+  * professionals having in-depth computer knowledge. Users are therefore
+  * encouraged to load and test the software's suitability as regards their
+  * requirements in conditions enabling the security of their systems and/or
+  * data to be ensured and,  more generally, to use and operate it in the
+  * same conditions as regards security.
+  *
+  * The fact that you are presently reading this means that you have had
+  * knowledge of the CeCILL license and that you accept its terms.
+  *
+  */
 
 #include <TMLbrbwChannel.h>
 #include <TMLTransaction.h>
@@ -46,121 +46,122 @@ TMLbrbwChannel::TMLbrbwChannel(ID iID, std::string iName, unsigned int iWidth, u
 }
 
 void TMLbrbwChannel::testWrite(TMLTransaction* iTrans){
-	_nbToWrite=iTrans->getVirtualLength();
-	_writeTrans=iTrans;
-	//std::cout << "testWrite called by " << _writeTrans->getCommand()->toShortString() << std::endl;
-	setTransactionLength();
-	//std::cout << "TestWrite " << iLength<< " writeTrans: " << _writeTrans<< " transLen: "<< _writeTrans->getVirtualLength()<< std::endl; 
+  _nbToWrite=iTrans->getVirtualLength();
+  _writeTrans=iTrans;
+  //std::cout << "testWrite called by " << _writeTrans->getCommand()->toShortString() << std::endl;
+  setTransactionLength();
+  //std::cout << "TestWrite " << iLength<< " writeTrans: " << _writeTrans<< " transLen: "<< _writeTrans->getVirtualLength()<< std::endl;
 }
 
 void TMLbrbwChannel::testRead(TMLTransaction* iTrans){
-	_nbToRead=iTrans->getVirtualLength();
-	_readTrans=iTrans;
-	setTransactionLength();
-	//std::cout << "TestRead " << iLength<< " readTrans: " << _readTrans << " transLen: "<< _readTrans->getVirtualLength()<< std::endl;
+  _nbToRead=iTrans->getVirtualLength();
+  _readTrans=iTrans;
+  setTransactionLength();
+  //std::cout << "TestRead " << iLength<< " readTrans: " << _readTrans << " transLen: "<< _readTrans->getVirtualLength()<< std::endl;
 }
 
 void TMLbrbwChannel::write(){
 #ifdef LOSS_ENABLED
-	if (_maxNbOfLosses > _nbOfLosses){
-		TMLLength aLostBytes = _writeTrans->getVirtualLength() * _lossRate + _lossRemainder;
-		//std::cout << "lost bytes: " << aLostBytes << "\n";
-		_lossRemainder = aLostBytes % 100;
-		//aLostBytes /= 100;
-		aLostBytes = min(aLostBytes/100, _maxNbOfLosses - _nbOfLosses);
-		_content += _writeTrans->getVirtualLength() - aLostBytes;
-		std::cout << "Bytes to write: " << _writeTrans->getVirtualLength()-aLostBytes << "\n";
-	        std::cout << "Bytes lost: " << aLostBytes << "\n";
-		_nbOfLosses +=  aLostBytes;
-	}else{
+  if (_maxNbOfLosses > _nbOfLosses){
+    TMLLength aLostBytes = _writeTrans->getVirtualLength() * _lossRate + _lossRemainder;
+    //std::cout << "lost bytes: " << aLostBytes << "\n";
+    _lossRemainder = aLostBytes % 100;
+    //aLostBytes /= 100;
+    aLostBytes = min(aLostBytes/100, _maxNbOfLosses - _nbOfLosses);
+    _content += _writeTrans->getVirtualLength() - aLostBytes;
+    std::cout << "Bytes to write: " << _writeTrans->getVirtualLength()-aLostBytes << "\n";
+    std::cout << "Bytes lost: " << aLostBytes << "\n";
+    _nbOfLosses +=  aLostBytes;
+  } else {
 #endif
-		//std::cout << "write all  " << _writeTrans->getVirtualLength() << "\n";
-		_content+=_writeTrans->getVirtualLength();
+    std::cout << "write all  " << _writeTrans->getVirtualLength() << "\n";
+    _content+=_writeTrans->getVirtualLength();
 #ifdef LOSS_ENABLED
-	}
-#endif	
-	if (_readTrans!=0 && _readTrans->getVirtualLength()==0) _readTrans->setRunnableTime(_writeTrans->getEndTime());
-	_nbToWrite=0;
-	//FOR_EACH_TRANSLISTENER (*i)->transExecuted(_writeTrans);
+  }
+#endif
+  if (_readTrans!=0 && _readTrans->getVirtualLength()==0) _readTrans->setRunnableTime(_writeTrans->getEndTime());
+  _nbToWrite=0;
+  //FOR_EACH_TRANSLISTENER (*i)->transExecuted(_writeTrans);
 #ifdef LISTENERS_ENABLED
-	NOTIFY_WRITE_TRANS_EXECUTED(_writeTrans);
+  NOTIFY_WRITE_TRANS_EXECUTED(_writeTrans);
 #endif
-	_writeTrans=0;
-	setTransactionLength();
+  _writeTrans=0;
+  setTransactionLength();
 }
 
 bool TMLbrbwChannel::read(){
-	if (_content<_readTrans->getVirtualLength()){
-		return false;
-	}else{
-		_content-=_readTrans->getVirtualLength();
-		_nbToRead=0;
-		if (_writeTrans!=0 && _writeTrans->getVirtualLength()==0) _writeTrans->setRunnableTime(_readTrans->getEndTime());	
-		//FOR_EACH_TRANSLISTENER (*i)->transExecuted(_readTrans);
+  if (_content<_readTrans->getVirtualLength()){
+    return false;
+  } else {
+    //std::cout << "read all  " << _readTrans->getVirtualLength() << "\n";
+    _content-=_readTrans->getVirtualLength();
+    _nbToRead=0;
+    if (_writeTrans!=0 && _writeTrans->getVirtualLength()==0) _writeTrans->setRunnableTime(_readTrans->getEndTime());
+    //FOR_EACH_TRANSLISTENER (*i)->transExecuted(_readTrans);
 #ifdef LISTENERS_ENABLED
-		NOTIFY_READ_TRANS_EXECUTED(_readTrans);
+    NOTIFY_READ_TRANS_EXECUTED(_readTrans);
 #endif
-		_readTrans=0;
-		setTransactionLength();
-		return true;
-	}
+    _readTrans=0;
+    setTransactionLength();
+    return true;
+  }
 }
 
 void TMLbrbwChannel::setTransactionLength() const{
-	if (_writeTrans!=0){	
-		if (_nbToRead==0){
-			_writeTrans->setVirtualLength(min(_length-_content,_nbToWrite));
-			_underflow=false;
-			//std::cout << _name << ": set write trans len, no read trans, len = " << _writeTrans->getVirtualLength() << std::endl;
-		}else{
-			if (_nbToRead<=_content){
-				//read could be executed right away			
-				_writeTrans->setVirtualLength(min(_length-_content,_nbToWrite));
-				_underflow=false;
-			}else{
-				//read could wake up because of write
-				_writeTrans->setVirtualLength(min(_length-_content,_nbToRead-_content,_nbToWrite));
-				_underflow=true;
-			}
-			//std::cout << _name << ": set write trans len, with read trans, len = " << _writeTrans->getVirtualLength() << std::endl;
-		}
-	}
-	if (_readTrans!=0){
-		if (_nbToWrite==0){
-			_readTrans->setVirtualLength(min(_content,_nbToRead));
-			_overflow=false;
-			//std::cout << _name << ": set read trans len, no write trans, len = " << _readTrans->getVirtualLength() << std::endl;
-		}else{
-			if (_nbToWrite<=_length-_content){
-				//write could be executed right away
-				_readTrans->setVirtualLength(min(_content,_nbToRead));
-				_overflow=false;
-			}else{
-				//write could wakeup because of read
-				_readTrans->setVirtualLength(min(_content,_nbToWrite-(_length-_content),_nbToRead));
-				_overflow=true;
-			}
-			//std::cout << _name << ": set read trans len, with write trans, len = " << _readTrans->getVirtualLength() << std::endl;
+  if (_writeTrans!=0){
+    if (_nbToRead==0){
+      _writeTrans->setVirtualLength(min(_length-_content,_nbToWrite));
+      _underflow=false;
+      //std::cout << _name << ": set write trans len, no read trans, len = " << _writeTrans->getVirtualLength() << std::endl;
+    } else {
+      if (_nbToRead<=_content){
+        //read could be executed right away
+        _writeTrans->setVirtualLength(min(_length-_content,_nbToWrite));
+        _underflow=false;
+      }else{
+        //read could wake up because of write
+        _writeTrans->setVirtualLength(min(_length-_content,_nbToRead-_content,_nbToWrite));
+        _underflow=true;
+      }
+      //std::cout << _name << ": set write trans len, with read trans, len = " << _writeTrans->getVirtualLength() << std::endl;
+    }
+  }
+  if (_readTrans!=0){
+    if (_nbToWrite==0){
+      _readTrans->setVirtualLength(min(_content,_nbToRead));
+      _overflow=false;
+      //std::cout << _name << ": set read trans len, no write trans, len = " << _readTrans->getVirtualLength() << std::endl;
+    } else{
+      if (_nbToWrite<=_length-_content){
+        //write could be executed right away
+        _readTrans->setVirtualLength(min(_content,_nbToRead));
+        _overflow=false;
+      }else{
+        //write could wakeup because of read
+        _readTrans->setVirtualLength(min(_content,_nbToWrite-(_length-_content),_nbToRead));
+        _overflow=true;
+      }
+      //std::cout << _name << ": set read trans len, with write trans, len = " << _readTrans->getVirtualLength() << std::endl;
 
-		}
-	}
+    }
+  }
 }
 
 std::string TMLbrbwChannel::toString() const{
-	std::ostringstream outp;
-	outp << _name << "(brbw) len:" << _length << " content:" << _content << " nbToRead:" << _nbToRead << " nbToWrite:" << _nbToWrite;
-	return outp.str();
+  std::ostringstream outp;
+  outp << _name << "(brbw) len:" << _length << " content:" << _content << " nbToRead:" << _nbToRead << " nbToWrite:" << _nbToWrite;
+  return outp.str();
 }
 
 TMLLength TMLbrbwChannel::insertSamples(TMLLength iNbOfSamples, Parameter* iParam){
-	TMLLength aNbToInsert;
-	if (iNbOfSamples==0){
-		_content=0;
-		aNbToInsert=0;
-	}else{
-		aNbToInsert=min(iNbOfSamples, _length-_content);
-		iNbOfSamples+=aNbToInsert;
-	}
-	setTransactionLength();
-	return aNbToInsert;
+  TMLLength aNbToInsert;
+  if (iNbOfSamples==0){
+    _content=0;
+    aNbToInsert=0;
+  }else{
+    aNbToInsert=min(iNbOfSamples, _length-_content);
+    iNbOfSamples+=aNbToInsert;
+  }
+  setTransactionLength();
+  return aNbToInsert;
 }
diff --git a/simulators/c++2/src_simulator/arch/MultiCoreCPU.cpp b/simulators/c++2/src_simulator/arch/MultiCoreCPU.cpp
index 5270a805acce28522fbe4d85e768efc8cf40f3a9..84ade6893da6687f40c3bb70e4933efa57698a13 100644
--- a/simulators/c++2/src_simulator/arch/MultiCoreCPU.cpp
+++ b/simulators/c++2/src_simulator/arch/MultiCoreCPU.cpp
@@ -78,7 +78,7 @@ MultiCoreCPU::~MultiCoreCPU(){
 
 TMLTransaction* MultiCoreCPU::getNextTransaction(){
 #ifdef BUS_ENABLED
-  if (_masterNextTransaction==0 || _nextTransaction==0){
+  if (_masterNextTransaction == 0 || _nextTransaction == 0){
     return _nextTransaction;
   }else{
 #ifdef DEBUG_CPU
@@ -111,14 +111,14 @@ void MultiCoreCPU::calcStartTimeLength(TMLTime iTimeSlice){
   //std::cout << "get channel " << std::endl;
   TMLChannel* aChannel=_nextTransaction->getCommand()->getChannel(0);
   //std::cout << "after get channel " << std::endl;
-  if(aChannel==0){
+  if(aChannel == 0){
     //std::cout << "no channel " << std::endl;
     _masterNextTransaction=0;
   }else{
     //std::cout << "get bus " << std::endl;
-    _masterNextTransaction= getMasterForBus(aChannel->getFirstMaster(_nextTransaction));
+    _masterNextTransaction = getMasterForBus(aChannel->getFirstMaster(_nextTransaction));
     //std::cout << "after get first bus " << std::endl;
-    if (_masterNextTransaction!=0){
+    if (_masterNextTransaction !=0 ){
       //std::cout << "before register transaction at bus " << std::endl;
       _masterNextTransaction->registerTransaction(_nextTransaction);
       //std::cout << "Transaction registered at bus " << std::endl;
@@ -129,7 +129,7 @@ void MultiCoreCPU::calcStartTimeLength(TMLTime iTimeSlice){
   TMLTime aStartTime = max(_endSchedule,_nextTransaction->getRunnableTime());
   TMLTime aReminder = aStartTime % _timePerCycle;
   if (aReminder!=0) aStartTime+=_timePerCycle - aReminder;
-  //std::cout << "CPU: set starttime in CPU=" << aStartTime << "\n";
+  std::cout << "CPU: set starttime in CPU=" << aStartTime << "\n";
 
   _nextTransaction->setStartTime(aStartTime);
 
@@ -285,9 +285,9 @@ bool MultiCoreCPU::addTransaction(TMLTransaction* iTransToBeAdded){
     std::cout << "CPU:addt: " << _name << " finalizing transaction next:" << _nextTransaction->toString() << " (enf of next) " << std::endl;
 #endif
     //_nextTransaction->getCommand()->execute();  //NEW!!!!
-    //std::cout << "CPU:addt: to be started" << std::endl;
+    std::cout << "CPU:addt: to be started" << std::endl;
     _endSchedule=_nextTransaction->getEndTime();
-    //std::cout << "set end schedule CPU: " << _endSchedule << "\n";
+    std::cout << "set end schedule CPU: " << _endSchedule << "\n";
     _simulatedTime=max(_simulatedTime,_endSchedule);
     _overallTransNo++; //NEW!!!!!!!!
     _overallTransSize+=_nextTransaction->getOperationLength();  //NEW!!!!!!!!
@@ -321,7 +321,7 @@ void MultiCoreCPU::schedule(){
   //_scheduler->transWasScheduled(this); //NEW 05/05/11
 
   //if (aOldTransaction!=0){
-  if (aOldTransaction!=0 && aOldTransaction!=_nextTransaction){ //NEW
+  if (aOldTransaction!=0 && aOldTransaction != _nextTransaction){ //NEW
     //std::cout << "3\n";
     //aOldTransaction->getCommand()->getTask()->resetScheduledFlag();  TO BE OMITTED????????????????????????????????
     //std::cout << "4\n";
@@ -358,13 +358,16 @@ void MultiCoreCPU::schedule2HTML(std::ofstream& myfile) const{
     aCurrTrans=*i;
     //if (aCurrTrans->getVirtualLength()==0) continue;
     aBlanks=aCurrTrans->getStartTime()-aCurrTime;
+    
     if (aBlanks>0){
       if (aBlanks==1)
         myfile << "<td title=\"idle time\" class=\"not\"></td>\n";
       else
         myfile << "<td colspan=\""<< aBlanks <<"\" title=\"idle time\" class=\"not\"></td>\n";
     }
+    
     aLength=aCurrTrans->getPenalties();
+    
     if (aLength!=0){
       if (aLength==1){
         //myfile << "<td title=\""<< aCurrTrans->toShortString() << "\" class=\"t15\"></td>\n";
diff --git a/simulators/c++2/src_simulator/arch/SingleCoreCPU.cpp b/simulators/c++2/src_simulator/arch/SingleCoreCPU.cpp
index 28ff53a0276ca4bdbf2d54bc9a9635b5081d3aa0..6db43dc279601ad6eb261083c425d5806b28477b 100644
--- a/simulators/c++2/src_simulator/arch/SingleCoreCPU.cpp
+++ b/simulators/c++2/src_simulator/arch/SingleCoreCPU.cpp
@@ -48,33 +48,33 @@
 //#include <TransactionListener.h>
 
 
-SingleCoreCPU::SingleCoreCPU(	ID iID,
-								std::string iName,
-								WorkloadSource* iScheduler,
-								TMLTime iTimePerCycle,
-								unsigned int iCyclesPerExeci,
-								unsigned int iCyclesPerExecc,
-								unsigned int iPipelineSize,
-								unsigned int iTaskSwitchingCycles,
-								unsigned int iBranchingMissrate,
-								unsigned int iChangeIdleModeCycles,
-								unsigned int iCyclesBeforeIdle,
-								unsigned int ibyteDataSize ) : CPU( iID, iName, iScheduler ), /*_lastTransaction(0),*/ _masterNextTransaction(0), _timePerCycle(iTimePerCycle)
+SingleCoreCPU::SingleCoreCPU(   ID iID,
+                                std::string iName,
+                                WorkloadSource* iScheduler,
+                                TMLTime iTimePerCycle,
+                                unsigned int iCyclesPerExeci,
+                                unsigned int iCyclesPerExecc,
+                                unsigned int iPipelineSize,
+                                unsigned int iTaskSwitchingCycles,
+                                unsigned int iBranchingMissrate,
+                                unsigned int iChangeIdleModeCycles,
+                                unsigned int iCyclesBeforeIdle,
+                                unsigned int ibyteDataSize ) : CPU( iID, iName, iScheduler ), /*_lastTransaction(0),*/ _masterNextTransaction(0), _timePerCycle(iTimePerCycle)
 #ifdef PENALTIES_ENABLED
-                                                                                                                                                                                                                                                                                                                                                                      , _pipelineSize(iPipelineSize), _taskSwitchingCycles(iTaskSwitchingCycles),_brachingMissrate(iBranchingMissrate)
-                                                                                                                                                                                                                                                                                                                                                                      , _changeIdleModeCycles(iChangeIdleModeCycles), _cyclesBeforeIdle(iCyclesBeforeIdle)
+                                                             , _pipelineSize(iPipelineSize), _taskSwitchingCycles(iTaskSwitchingCycles),_brachingMissrate(iBranchingMissrate)
+                                                             , _changeIdleModeCycles(iChangeIdleModeCycles), _cyclesBeforeIdle(iCyclesBeforeIdle)
 #endif
-                                                                                                                                                                                                                                                                                                                                                                      , _cyclesPerExeci(iCyclesPerExeci) /*, _busyCycles(0)*/
+                                                             , _cyclesPerExeci(iCyclesPerExeci) /*, _busyCycles(0)*/
 #ifdef PENALTIES_ENABLED
-                                                                                                                                                                                                                                                                                                                                                                      , _timePerExeci(_cyclesPerExeci * _timePerCycle * (_pipelineSize *  _brachingMissrate + 100 - _brachingMissrate) /100.0)
-                                                                                                                                                                                                                                                                                                                                                                      ,_taskSwitchingTime(_taskSwitchingCycles*_timePerCycle)
-                                                                                                                                                                                                                                                                                                                                                                      , _timeBeforeIdle(_cyclesBeforeIdle*_timePerCycle)
-                                                                                                                                                                                                                                                                                                                                                                      , _changeIdleModeTime(_changeIdleModeCycles*_timePerCycle)
+                                                             , _timePerExeci(_cyclesPerExeci * _timePerCycle * (_pipelineSize *  _brachingMissrate + 100 - _brachingMissrate) /100.0)
+                                                             ,_taskSwitchingTime(_taskSwitchingCycles*_timePerCycle)
+                                                             , _timeBeforeIdle(_cyclesBeforeIdle*_timePerCycle)
+                                                             , _changeIdleModeTime(_changeIdleModeCycles*_timePerCycle)
 #else
-                                                                                                                                                                                                                                                                                                                                                                      , _timePerExeci(_cyclesPerExeci*_timePerCycle)
+                                                             , _timePerExeci(_cyclesPerExeci*_timePerCycle)
 #endif
-                                                                                                                                                                                                                                                                                                                                                                        //, _pipelineSizeTimesExeci(_pipelineSize * _timePerExeci)
-                                                                                                                                                                                                                                                                                                                                                                        //,_missrateTimesPipelinesize(_brachingMissrate*_pipelineSize)
+                                                               //, _pipelineSizeTimesExeci(_pipelineSize * _timePerExeci)
+                                                               //,_missrateTimesPipelinesize(_brachingMissrate*_pipelineSize)
 {
   //std::cout << "Time per EXECIiiiiiiiiiiiiiiiiiiiiii: " << _timePerExeci << "\n";
   //_transactList.reserve(BLOCK_SIZE);
@@ -119,20 +119,23 @@ void SingleCoreCPU::calcStartTimeLength(TMLTime iTimeSlice){
   std::cout << "CPU:calcSTL: scheduling decision of CPU " << _name << ": " << _nextTransaction->toString() << std::endl;
 #endif
 #ifdef BUS_ENABLED
-  //std::cout << "get channel " << std::endl;
+  std::cout << "CPU:calcSTL: scheduling decision of CPU " << _name << ": " << _nextTransaction->toString() << std::endl;
+  std::cout << "get channel " << std::endl;
   TMLChannel* aChannel=_nextTransaction->getCommand()->getChannel(0);
-  //std::cout << "after get channel " << std::endl;
-  if(aChannel==0){
+  std::cout << "after get channel " << std::endl;
+  if (aChannel==0) {
     //std::cout << "no channel " << std::endl;
     _masterNextTransaction=0;
-  }else{
-    //std::cout << "get bus " << std::endl;
+  } else {
+    std::cout << "get bus " << std::endl;
     _masterNextTransaction= getMasterForBus(aChannel->getFirstMaster(_nextTransaction));
-    //std::cout << "after get first bus " << std::endl;
+    std::cout << "after get first bus " << std::endl;
     if (_masterNextTransaction!=0){
-      //std::cout << "before register transaction at bus " << std::endl;
+      std::cout << "before register transaction at bus " << _masterNextTransaction->toString() << std::endl;
       _masterNextTransaction->registerTransaction(_nextTransaction);
-      //std::cout << "Transaction registered at bus " << std::endl;
+      std::cout << "Transaction registered at bus " << _masterNextTransaction->toString() << std::endl;
+    } else {
+      std::cout << "                          NO MASTER NEXT TRANSACTION " << std::endl;
     }
   }
 #endif
@@ -140,7 +143,7 @@ void SingleCoreCPU::calcStartTimeLength(TMLTime iTimeSlice){
   TMLTime aStartTime = max(_endSchedule,_nextTransaction->getRunnableTime());
   TMLTime aReminder = aStartTime % _timePerCycle;
   if (aReminder!=0) aStartTime+=_timePerCycle - aReminder;
-  //std::cout << "CPU: set starttime in CPU=" << aStartTime << "\n"; 
+  std::cout << "CPU: set start time in CPU=" << aStartTime << " Reminder=" << aReminder <<"\n";
 
   _nextTransaction->setStartTime(aStartTime);
 
@@ -162,7 +165,7 @@ void SingleCoreCPU::calcStartTimeLength(TMLTime iTimeSlice){
     _nextTransaction->setTaskSwitchingPenalty(_taskSwitchingTime);
   }
 
-  //std::cout << "starttime=" <<  _nextTransaction->getStartTime() << "\n"; 
+  //std::cout << "starttime=" <<  _nextTransaction->getStartTime() << "\n";
   if ((_nextTransaction->getStartTime()-_endSchedule) >=_timeBeforeIdle){
     _nextTransaction->setIdlePenalty(_changeIdleModeTime);
   }
@@ -196,7 +199,7 @@ TMLTime SingleCoreCPU::truncateNextTransAt(TMLTime iTime){
   if (_masterNextTransaction==0){
 #ifdef PENALTIES_ENABLED
 
-    std::cout << "CPU:nt.startTime: " << _nextTransaction->getStartTime() << std::endl;
+    //std::cout << "CPU:nt.startTime: " << _nextTransaction->getStartTime() << std::endl;
     if (iTime < _nextTransaction->getStartTime()) {
       return 0;
     }
@@ -209,7 +212,7 @@ TMLTime SingleCoreCPU::truncateNextTransAt(TMLTime iTime){
 #ifdef DEBUG_CPU
       std::cout << "CPU:truncateNTA: transaction truncated\n";
 #endif
-    }else{
+    } else{
       aNewDuration-=aStaticPenalty;
       _nextTransaction->setVirtualLength(max((TMLTime)(aNewDuration /_timePerExeci),(TMLTime)1));
       _nextTransaction->setLength(_nextTransaction->getVirtualLength() *_timePerExeci);
@@ -231,6 +234,7 @@ TMLTime SingleCoreCPU::truncateNextTransAt(TMLTime iTime){
 bool SingleCoreCPU::addTransaction(TMLTransaction* iTransToBeAdded){
   bool aFinish;
   //TMLTransaction* aTransCopy=0;
+  std::cout << "*************** LOOKING for master of" << _nextTransaction->toString() << std::endl;
   if (_masterNextTransaction==0){
     aFinish=true;
 #ifdef DEBUG_CPU
@@ -241,33 +245,34 @@ bool SingleCoreCPU::addTransaction(TMLTransaction* iTransToBeAdded){
     std::cout << _name << "CPU:addT: handling bus transaction" << std::endl;
 #endif
     //Slave* aLastSlave=_nextTransaction->getChannel()->getNextSlave(_nextTransaction);
+    //std::cout << "*************** LOOKING for master of" << _nextTransaction->toString() << std::endl;
     BusMaster* aFollowingMaster =_nextTransaction->getChannel()->getNextMaster(_nextTransaction);
     if (aFollowingMaster==0){
-      //std::cout << "1\n";
+      std::cout << "1\n";
       aFinish=true;
       //aTransCopy = new TMLTransaction(*_nextTransaction);
       //_nextTransaction = aTransCopy;
       BusMaster* aTempMaster = getMasterForBus(_nextTransaction->getChannel()->getFirstMaster(_nextTransaction));
-      //std::cout << "2\n";
+      std::cout << "2\n";
       Slave* aTempSlave= _nextTransaction->getChannel()->getNextSlave(_nextTransaction);
-      //std::cout << "3\n";
+      std::cout << "3\n";
       aTempMaster->addBusContention(_nextTransaction->getStartTime()-max(_endSchedule,_nextTransaction->getRunnableTime()));
       while (aTempMaster!=0){
-        //std::cout << "3a\n";
+        std::cout << "3a\n";
         aTempMaster->addTransaction(_nextTransaction);
-        //std::cout << "3b\n";
+        std::cout << "3b\n";
         //if (aTempSlave!=0) aTempSlave->addTransaction(_nextTransaction);
         if (aTempSlave!=0) aTempSlave->addTransaction(_nextTransaction);  //NEW
-        //std::cout << "4\n";
+        std::cout << "4\n";
         aTempMaster =_nextTransaction->getChannel()->getNextMaster(_nextTransaction);
-        //std::cout << "5\n";
+        std::cout << "5\n";
         aTempSlave= _nextTransaction->getChannel()->getNextSlave(_nextTransaction);
       }
-      //std::cout << "6\n";
-    }else{
-      //std::cout << _name << " bus transaction next round" << std::endl;
+      std::cout << "6\n";
+    } else {
+      std::cout << _name << " bus transaction next round" << std::endl;
       _masterNextTransaction=aFollowingMaster;
-      //std::cout << "7\n";
+      std::cout << "7\n";
       _masterNextTransaction->registerTransaction(_nextTransaction);
       aFinish=false;
     }
@@ -280,7 +285,7 @@ bool SingleCoreCPU::addTransaction(TMLTransaction* iTransToBeAdded){
     //_nextTransaction->getCommand()->execute();  //NEW!!!!
     //std::cout << "CPU:addt: to be started" << std::endl;
     _endSchedule=_nextTransaction->getEndTime();
-    //std::cout << "set end schedule CPU: " << _endSchedule << "\n";
+    //std::cout << "set end schedule CPU: " << _endSchedule << " startTime of trans:" << _nextTransaction->getStartTime() << " length of trans=" << _nextTransaction->getLength() <<"\n";
     _simulatedTime=max(_simulatedTime,_endSchedule);
     _overallTransNo++; //NEW!!!!!!!!
     _overallTransSize+=_nextTransaction->getOperationLength();  //NEW!!!!!!!!
@@ -303,7 +308,7 @@ bool SingleCoreCPU::addTransaction(TMLTransaction* iTransToBeAdded){
 
 void SingleCoreCPU::schedule(){
   //std::cout <<"Hello\n";
-  //std::cout << "CPU:schedule BEGIN " << _name << "+++++++++++++++++++++++++++++++++\n";
+  std::cout << "CPU:schedule BEGIN " << _name << "+++++++++++++++++++++++++++++++++\n";
   TMLTime aTimeSlice = _scheduler->schedule(_endSchedule);
   //_schedulingNeeded=false;  05/05/11
   //std::cout << "1\n";
@@ -319,11 +324,14 @@ void SingleCoreCPU::schedule(){
     //aOldTransaction->getCommand()->getTask()->resetScheduledFlag();  TO BE OMITTED????????????????????????????????
     //std::cout << "4\n";
     //if (aOldTransaction!=_nextTransaction && _masterNextTransaction!=0) _masterNextTransaction->registerTransaction(0);
-    if (_masterNextTransaction!=0) _masterNextTransaction->registerTransaction(0);
+    if (_masterNextTransaction!=0) {
+      _masterNextTransaction->registerTransaction(0);
+
+    }
   }
   //std::cout << "5\n";
   if (_nextTransaction!=0 && aOldTransaction != _nextTransaction) calcStartTimeLength(aTimeSlice);
-  //std::cout << "CPU:schedule END " << _name << "+++++++++++++++++++++++++++++++++\n";
+  std::cout << "CPU:schedule END " << _name << "+++++++++++++++++++++++++++++++++\n";
 }
 
 //std::string SingleCoreCPU::toString() const{
@@ -438,15 +446,15 @@ int SingleCoreCPU::allTrans2XML(std::ostringstream& glob, int maxNbOfTrans) cons
 }
 
 void SingleCoreCPU::latencies2XML(std::ostringstream& glob, unsigned int id1, unsigned int id2) {
-	for(TransactionList::const_iterator i=_transactList.begin(); i != _transactList.end(); ++i){
-		if ((*i)->getCommand() !=NULL){
-			if ((*i)->getCommand()->getID() == id1 || (*i)->getCommand()->getID() == id2){
-				(*i)->toXML(glob, 0, _name);
-			}
-		}
-	}
-
-	return;
+  for(TransactionList::const_iterator i=_transactList.begin(); i != _transactList.end(); ++i){
+    if ((*i)->getCommand() !=NULL){
+      if ((*i)->getCommand()->getID() == id1 || (*i)->getCommand()->getID() == id2){
+        (*i)->toXML(glob, 0, _name);
+      }
+    }
+  }
+
+  return;
 }
 
 void SingleCoreCPU::getNextSignalChange(bool iInit, SignalChangeData* oSigData){
diff --git a/simulators/c++2/src_simulator/evt/ListenersSimCmd.cpp b/simulators/c++2/src_simulator/evt/ListenersSimCmd.cpp
index 2037af3da460f4140d6794f1a56b0d5e4e87dc0b..ea3b2e4aed6ed48be1adfbbe01e58a127f6cdb92 100644
--- a/simulators/c++2/src_simulator/evt/ListenersSimCmd.cpp
+++ b/simulators/c++2/src_simulator/evt/ListenersSimCmd.cpp
@@ -229,7 +229,7 @@ RunXCommands::~RunXCommands(){
 
 void RunXCommands::commandFinished(TMLCommand* iComm, ID iID){
 	_count++;
-	if (_count>=_commandsToExecute){
+	if (_count >= _commandsToExecute){
 		std::ostringstream aOut;
 		aOut << MSG_RUNXCOMMANDS << ": " << _commandsToExecute;
 		_simComp->setStopFlag(true, aOut.str());
@@ -240,7 +240,7 @@ void RunXCommands::commandFinished(TMLCommand* iComm, ID iID){
 }
 
 void RunXCommands::setCmdsToExecute(unsigned int iCommandsToExecute){
-	_commandsToExecute=iCommandsToExecute;
+	_commandsToExecute = iCommandsToExecute;
 }
 
 
diff --git a/simulators/c++2/src_simulator/sim/Simulator.cpp b/simulators/c++2/src_simulator/sim/Simulator.cpp
index 3725a86848d9c62bf902d05614856e2da43b1c87..eed83a21640dc758318f1e62880fc9856b32b32d 100644
--- a/simulators/c++2/src_simulator/sim/Simulator.cpp
+++ b/simulators/c++2/src_simulator/sim/Simulator.cpp
@@ -808,7 +808,7 @@ void Simulator::decodeCommand(std::string iCmd, std::ostream& iXmlOutStream){
       aInpStream >> aParam2;
       //_currCmdListener=new RunXTransactions(_simComp,aParam2);
       aGlobMsg << TAG_MSGo << "Created listener run " << aParam2 << " transactions" << TAG_MSGc << std::endl;
-      _simTerm=runXTransactions(aParam2, oLastTrans);
+      _simTerm = runXTransactions(aParam2, oLastTrans);
       std::cout << "Run x transactions." << std::endl;
       break;
     case 3:     //Run up to command x
@@ -822,7 +822,7 @@ void Simulator::decodeCommand(std::string iCmd, std::ostream& iXmlOutStream){
       aInpStream >> aParam2;
       //_currCmdListener=new RunXCommands(_simComp,aParam2);
       aGlobMsg << TAG_MSGo << "Created listener run " << aParam2 << " commands" << TAG_MSGc << std::endl;
-      _simTerm=runXCommands(aParam2, oLastTrans);
+      _simTerm = runXCommands(aParam2, oLastTrans);
       std::cout << "End Run x commands." << std::endl;
       break;
     case 5: //Run up to time x
@@ -830,7 +830,7 @@ void Simulator::decodeCommand(std::string iCmd, std::ostream& iXmlOutStream){
       aInpStream >> aParam2;
       //_currCmdListener=new RunXTimeUnits(_simComp,aParam2);
       aGlobMsg << TAG_MSGo << "Created listener run to time " << aParam2 << TAG_MSGc << std::endl;
-      _simTerm=runTillTimeX(aParam2, oLastTrans);
+      _simTerm = runTillTimeX(aParam2, oLastTrans);
       std::cout << "End Run to time x." << std::endl;
       break;
     case 6:     //Run for x time units
@@ -838,7 +838,7 @@ void Simulator::decodeCommand(std::string iCmd, std::ostream& iXmlOutStream){
       aInpStream >> aParam2;
       //_currCmdListener=new RunXTimeUnits(_simComp,aParam2+SchedulableDevice::getSimulatedTime());
       aGlobMsg << TAG_MSGo  << "Created listener run " << aParam2 << " time units" << TAG_MSGc << std::endl;
-      _simTerm=runXTimeUnits(aParam2, oLastTrans);
+      _simTerm = runXTimeUnits(aParam2, oLastTrans);
       std::cout << "End Run for x time units." << std::endl;
       break;
     case 7: {//Explore Tree
diff --git a/src/main/java/automata/State.java b/src/main/java/automata/State.java
index 5e72f9b54fff137c0805f93d6ee1125d99a0b08f..56d6b19a5aaaf3703ee6d9ac3258ebbc9df5c861 100755
--- a/src/main/java/automata/State.java
+++ b/src/main/java/automata/State.java
@@ -54,6 +54,7 @@ import java.util.ListIterator;
 public class State {
     private String name;
     private LinkedList<Transition> transitions;
+    public Object referenceObject;
     
     public State(String _name) {
          transitions = new LinkedList<Transition>();
diff --git a/src/main/java/common/ConfigurationTTool.java b/src/main/java/common/ConfigurationTTool.java
index 850bf4594340c3fa71990db3bda980f5c0c6cbe6..6e321ddebb91d793f0f5e14a32c9e9fb670f3580 100755
--- a/src/main/java/common/ConfigurationTTool.java
+++ b/src/main/java/common/ConfigurationTTool.java
@@ -160,6 +160,8 @@ public class ConfigurationTTool {
     public static String URL_MODEL = "http://ttool.telecom-paristech.fr/networkmodels/models.txt";
 
     // Others
+    public static String RGStyleSheet = "";
+
     public static String LastOpenFile = "";
     public static boolean LastOpenFileDefined = false;
 
@@ -172,6 +174,8 @@ public class ConfigurationTTool {
     public static String ExternalServer = "";
     public static String ProVerifHash = "";
 
+
+
     public static void makeDefaultConfiguration() {
         //System.out.println(Paths.get("").toAbsolutePath().toString());
         //System.out.println("User.dir path:" + System.getProperty("user.dir"));
@@ -496,6 +500,8 @@ public class ConfigurationTTool {
         sb.append("LastWindowAttributesHeight: ").append(LastWindowAttributesHeight).append("\n");
         sb.append("LastWindowAttributesMax: ").append(LastWindowAttributesMax).append("\n");
 
+        sb.append("\nRG stylesheet configuration:").append(RGStyleSheet).append("\n");
+
         //Huy Truong
         sb.append("ExternalServer ").append(ExternalServer).append("\n");
 
@@ -797,6 +803,10 @@ public class ConfigurationTTool {
             if (nl.getLength() > 0)
                 LastWindowAttributes(nl);
 
+            nl = doc.getElementsByTagName("RGStyleSheet");
+            if (nl.getLength() > 0)
+                RGStyleSheet(nl);
+
             nl = doc.getElementsByTagName("ExternalServer");
             if (nl.getLength() > 0)
                 ExternalServer(nl);
@@ -1569,6 +1579,14 @@ public class ConfigurationTTool {
         }
     }
 
+    private static void RGStyleSheet(NodeList nl) throws MalformedConfigurationException {
+        try {
+            Element elt = (Element) (nl.item(0));
+            RGStyleSheet = elt.getAttribute("data");
+        } catch (Exception e) {
+            throw new MalformedConfigurationException(e.getMessage());
+        }
+    }
 
     private static void ExternalServer(NodeList nl) throws MalformedConfigurationException {
         try {
diff --git a/src/main/java/common/SpecConfigTTool.java b/src/main/java/common/SpecConfigTTool.java
index 1058a63c7178dba9b9440214ffed1b73bef22b85..3bcd28296a1767ab3c065260bbdc3ce5331df0aa 100644
--- a/src/main/java/common/SpecConfigTTool.java
+++ b/src/main/java/common/SpecConfigTTool.java
@@ -402,7 +402,7 @@ public class SpecConfigTTool {
 
 
         } catch (Exception e) {
-            //TraceManager.addDev("Exception file creation for simulator: " + e.getMessage());
+            TraceManager.addDev("Exception file creation for simulator: " + e.getMessage());
             //throw new FileException(e.getMessage());
         }
         return true;
diff --git a/src/main/java/dseengine/DSEConfiguration.java b/src/main/java/dseengine/DSEConfiguration.java
index 763e683bda4a91c1a5fdf8952f9165ffe38d5274..97c8cf9eafed9fccd5f6099a3709e95d685f26df 100755
--- a/src/main/java/dseengine/DSEConfiguration.java
+++ b/src/main/java/dseengine/DSEConfiguration.java
@@ -43,7 +43,9 @@
 
 package dseengine;
 
+import common.SpecConfigTTool;
 import myutil.Conversion;
+import myutil.FileException;
 import myutil.FileUtils;
 import myutil.TraceManager;
 import tmltranslator.*;
@@ -107,6 +109,8 @@ public class DSEConfiguration implements Runnable  {
     private boolean outputHTML = true;
     private boolean outputTXT = false;
     private boolean outputXML = false;
+    private boolean outputTML = false;
+    private boolean outputGUI = false;
 
     private boolean recordResults = false;
 
@@ -157,7 +161,7 @@ public class DSEConfiguration implements Runnable  {
     //  private TMLModeling secModel = null;
     private Vector<TMLMapping<TGComponent>> mappings;
     private DSEMappingSimulationResults dsemapresults;
-    List<Integer[]> latencyIds =new ArrayList<Integer[]>();
+    private List<Integer[]> latencyIds =new ArrayList<Integer[]>();
     public MainGUI mainGUI;
     // Taps
     private static String[] taps = {"MinSimulationDuration",  "AverageSimulationDuration",
@@ -210,10 +214,17 @@ public class DSEConfiguration implements Runnable  {
         // Trying to read the file
         modelPath = _path;
         optionChanged = true;
-
         return 0;
     }
 
+    public void setOutputTML(boolean b) {
+        outputTML = b;
+    }
+
+    public void setOutputGUI(boolean b) {
+        outputGUI = b;
+    }
+
     public int setMappingFile(String _fileName) {
         // Trying to read the file
         mappingFile = new File(modelPath + _fileName);
@@ -227,6 +238,14 @@ public class DSEConfiguration implements Runnable  {
         return 0;
     }
 
+    public void setMappingModel(TMLMapping<TGComponent> _tmap) {
+        tmap = _tmap;
+    }
+
+    public void setTaskModel(TMLModeling<TGComponent> _tmlm) {
+        tmlm = _tmlm;
+    }
+
     public int setTaskModelFile(String _fileName) {
         // Trying to read the file
         taskModelFile = new File(modelPath + _fileName);
@@ -545,46 +564,56 @@ public class DSEConfiguration implements Runnable  {
     private boolean loadTaskModel(boolean _optimize) {
         boolean ret = false;
         //System.out.println("load");
-        String inputData = FileUtils.loadFileData(taskModelFile);
-        TMLTextSpecification<TGComponent> tmlts = new TMLTextSpecification<>("LoadedTaskModel");
-        ret = tmlts.makeTMLModeling(inputData);
-        TraceManager.addDev("Load of task model done");
         List<TMLError> warnings;
+        if (tmlm == null) {
+            String inputData = FileUtils.loadFileData(taskModelFile);
+            TMLTextSpecification<TGComponent> tmlts = new TMLTextSpecification<>("LoadedTaskModel");
+            ret = tmlts.makeTMLModeling(inputData);
+            TraceManager.addDev("Load of task model done");
 
-        if (!ret) {
-            TraceManager.addDev("Compilation:\n" + tmlts.printSummary());
-        }
-
-        if (ret) {
-            //System.out.println("Format OK");
-            taskModel = tmlts.getTMLModeling();
-            //System.out.println("\n\n*** TML Modeling *** \n");
-            //TMLTextSpecification textspec = new TMLTextSpecification("toto");
-            //String s = textspec.toTextFormat(tmlm);
-            //System.out.println(s);
 
-            // Checking syntax
-            TraceManager.addDev("--- Checking syntax of the whole specification (TML, TARCHI, TMAP)---");
-            TMLSyntaxChecking syntax = new TMLSyntaxChecking(taskModel);
-            syntax.checkSyntax();
-            if (syntax.hasErrors() > 0) {
-                TraceManager.addDev("Printing errors:");
-                TraceManager.addDev(syntax.printErrors());
-                return false;
+            if (!ret) {
+                TraceManager.addDev("Compilation:\n" + tmlts.printSummary());
             }
 
+            if (ret) {
+                //System.out.println("Format OK");
+                taskModel = tmlts.getTMLModeling();
+                //System.out.println("\n\n*** TML Modeling *** \n");
+                //TMLTextSpecification textspec = new TMLTextSpecification("toto");
+                //String s = textspec.toTextFormat(tmlm);
+                //System.out.println(s);
+
+                // Checking syntax
+                TraceManager.addDev("--- Checking syntax of the whole specification (TML, TARCHI, TMAP)---");
+                TMLSyntaxChecking syntax = new TMLSyntaxChecking(taskModel);
+                syntax.checkSyntax();
+                if (syntax.hasErrors() > 0) {
+                    TraceManager.addDev("Printing errors:");
+                    TraceManager.addDev(syntax.printErrors());
+                    return false;
+                }
 
-            TraceManager.addDev("Compilation:\n" + syntax.printSummary());
 
-            TraceManager.addDev("Compilation:\n" + tmlts.printSummary());
+                //TraceManager.addDev("Compilation:\n" + syntax.printSummary());
+
+                //TraceManager.addDev("Compilation:\n" + tmlts.printSummary());
 
 
+                if (_optimize) {
+                    warnings = tmlm.optimize();
+                    TraceManager.addDev(taskModel.printSummary(warnings));
+                }
+                //spec.toTextFormat(tmlm);
+                //System.out.println("TMLModeling=" + spec);
+            }
+        } else {
+            taskModel = tmlm;
             if (_optimize) {
                 warnings = tmlm.optimize();
                 TraceManager.addDev(taskModel.printSummary(warnings));
             }
-            //spec.toTextFormat(tmlm);
-            //System.out.println("TMLModeling=" + spec);
+            TraceManager.addDev("No need to make the TMLModeling from file: we use the current model");
         }
 
         return true;
@@ -675,7 +704,7 @@ public class DSEConfiguration implements Runnable  {
             return -1;
         }
 
-        if (mappingFile == null) {
+        if ((mappingFile == null) && (tmap == null)) {
             errorMessage = PATH_TO_SOURCE;
             return -1;
         }
@@ -699,21 +728,30 @@ public class DSEConfiguration implements Runnable  {
         return 0;
     }
 
-    public int loadingModel(boolean _debug, boolean _optimize) {
+    public int loadingModelAndGeneratingCode(boolean _debug, boolean _optimize) {
         if (optionChanged) {
-            TraceManager.addDev("Loading mapping");
-            if (!loadMapping(_optimize)) {
-                errorMessage = LOAD_MAPPING_FAILED;
-                TraceManager.addDev("Loading of the mapping failed!!!!");
-                return -1;
+            if (tmap == null) {
+                TraceManager.addDev("Loading mapping");
+                if (!loadMapping(_optimize)) {
+                    errorMessage = LOAD_MAPPING_FAILED;
+                    TraceManager.addDev("Loading of the mapping failed!!!!");
+                    return -1;
+                }
             }
 
+
+
             // Generating code
             TraceManager.addDev("\n\n\n**** Generating simulation code...");
             final IDiploSimulatorCodeGenerator map = DiploSimulatorFactory.INSTANCE.createCodeGenerator( tmap );
             //                  TML2MappingSystemC map = new TML2MappingSystemC(tmap);
 
             try {
+                TraceManager.addDev("Making directory:" + pathToSimulator);
+                FileUtils.mkdir(pathToSimulator);
+                if (!SpecConfigTTool.checkAndCreateSystemCDir(pathToSimulator)) {
+                    return -1;
+                }
                 map.generateSystemC(_debug, _optimize);
                 map.saveFile(pathToSimulator, "appmodel");
             } catch (Exception e) {
@@ -730,8 +768,8 @@ public class DSEConfiguration implements Runnable  {
         return 0;
     }
 
-    public int loadingTaskModel(boolean _debug, boolean _optimize) {
-        if (optionChanged) {
+    /*public int loadingTaskModel(boolean _debug, boolean _optimize) {
+        if ((optionChanged) && (tmlm != null)){
             TraceManager.addDev("Loading mapping");
             if (!loadTaskModel(_optimize)) {
                 errorMessage = LOAD_TASKMODEL_FAILED;
@@ -740,17 +778,26 @@ public class DSEConfiguration implements Runnable  {
             }
         }
         return 0;
-    }
-    public int generateSecMapping(){
+    }*/
+
+    /*public int generateSecMapping(){
         return 0;
-    }
+    }*/
+
     public int generateAndCompileMappingCode(TMLMapping<TGComponent> _tmlmap, boolean _debug, boolean _optimize) {
 
         // Generating code
-        TraceManager.addDev("\n\n\n**** Generating simulation code from mapping...");
+        TraceManager.addDev("\n\n\n**** Generating simulation code from mapping in directory:" + pathToSimulator);
         final IDiploSimulatorCodeGenerator map = DiploSimulatorFactory.INSTANCE.createCodeGenerator( _tmlmap );
 
         try {
+            TraceManager.addDev("Making directory:" + pathToSimulator);
+            FileUtils.mkdir(pathToSimulator);
+            if (!SpecConfigTTool.checkAndCreateSystemCDir(pathToSimulator)) {
+                return -1;
+            }
+            FileUtils.mkdir(pathToResults);
+
             map.generateSystemC(_debug, _optimize);
             map.saveFile(pathToSimulator, "appmodel");
         } catch (Exception e) {
@@ -779,7 +826,7 @@ public class DSEConfiguration implements Runnable  {
             v.add("7 1 " + pathToResults + "output$.html");
         }
         if (outputTXT) {
-            v.add("7 2 " +pathToResults + "output$.txt");
+            v.add("7 2 " + pathToResults + "output$.txt");
         }
 
         if (simulationMaxCycles > -1) {
@@ -847,7 +894,7 @@ public class DSEConfiguration implements Runnable  {
         }
 
         // Loading model
-        ret = loadingModel(_debug, _optimize);
+        ret = loadingModelAndGeneratingCode(_debug, _optimize);
         if (ret != 0) {
             return ret;
         }
@@ -869,6 +916,7 @@ public class DSEConfiguration implements Runnable  {
             makeCommand(tmp);
 
             if (recordResults) {
+                FileUtils.mkdir(pathToResults);
                 if (loadSimulationResult(simulationID) <0) {
                     return -1;
                 }
@@ -912,16 +960,19 @@ public class DSEConfiguration implements Runnable  {
         }
 
         // Loading model
-        ret = loadingModel(_debug, _optimize);
+        ret = loadingModelAndGeneratingCode(_debug, _optimize);
         if (ret != 0) {
             return ret;
         }
 
         // Preparing results
         if (recordResults) {
+            // Making the results directory
+            FileUtils.mkdir(pathToResults);
             if (results == null) {
                 results = new DSESimulationResult();
             }
+
         }
 
         // Executing the simulation
@@ -1382,7 +1433,25 @@ public class DSEConfiguration implements Runnable  {
         }
 
         for(TMLMapping<TGComponent> tmla: mappings) {
-            TraceManager.addDev("Handling mapping #" + cpt);
+            //TraceManager.addDev("Handling mapping #" + cpt);
+
+            if (outputTML) {
+                TraceManager.addDev("Generating mapping files for mapping #" + cpt);
+                TMLMappingTextSpecification<TGComponent> tmap = new
+                        TMLMappingTextSpecification<TGComponent>("Computed mapping " + cpt);
+                String data = tmap.toTextFormat(tmla);
+                try {
+                    tmap.saveFile(pathToResults, "mapping" + cpt);
+                } catch (FileException e) {
+                    TraceManager.addDev("File could not be saved:");
+                }
+            }
+
+            if (outputGUI) {
+                TraceManager.addDev("Generating graphical mapping #" + cpt);
+                TMLArchiPanel newArch = drawMapping(tmla, "GUI Mapping" + cpt);
+            }
+
             progression = cpt * 100 / (mappings.size());
 
             cpt ++;
@@ -1421,10 +1490,10 @@ public class DSEConfiguration implements Runnable  {
             }
 
             if (addSecurity){
-                System.out.println("ADDING SECURITY TO MAPPING " +(cpt-1));
+                TraceManager.addDev("ADDING SECURITY TO MAPPING " +(cpt-1));
 
                 TMLArchiPanel newArch = drawMapping(tmla, "securedMapping"+(cpt-1));
-                GTMLModeling gtml =new GTMLModeling(newArch, true);
+                GTMLModeling gtml = new GTMLModeling(newArch, true);
                 tmla = gtml.translateToTMLMapping();
                 //                   tmla.tmlap = tmlap;
                 //              tmlcdp = (TMLComponentDesignPanel) mainGUI.tabs.get(0);
@@ -1436,7 +1505,7 @@ public class DSEConfiguration implements Runnable  {
 
                 //Run simulations on this mapping
                 if (generateAndCompileMappingCode(secMapping, _debug, _optimize)  >= 0) {
-                    System.out.println("GENERATING>>>");
+                    TraceManager.addDev("GENERATING>>>");
                     if (recordResults) {
                         results = new DSESimulationResult();
                         resultsID ++;
@@ -1472,6 +1541,7 @@ public class DSEConfiguration implements Runnable  {
         }
         return 0;
     }
+
     public TMLArchiPanel drawMapping(TMLMapping<TGComponent> map, String name){
         //Map<HwNode, TGConnectingPoint> connectMap;
         Map<HwNode, TMLArchiNode> objMap = new HashMap<HwNode, TMLArchiNode>();
@@ -1505,7 +1575,8 @@ public class DSEConfiguration implements Runnable  {
         for (HwNode node:hwnodes){
             if (node instanceof HwBus){
                 HwBus hwbus = (HwBus) node;
-                TMLArchiBUSNode bus = new TMLArchiBUSNode(x, y, ap.getMinX(), ap.getMaxX(), ap.getMinY(), ap.getMaxY(), false, null, ap);
+                TMLArchiBUSNode bus = new TMLArchiBUSNode(x, y, ap.getMinX(), ap.getMaxX(), ap.getMinY(), ap.getMaxY(),
+                        false, null, ap);
                 bus.setPrivacy(hwbus.privacy);
                 x+=300;
                 bus.setName(node.getName());
@@ -1696,15 +1767,28 @@ public class DSEConfiguration implements Runnable  {
     }
     private void addMemories(Vector<TMLMapping<TGComponent>> maps){
         for (TMLMapping<TGComponent> map: maps){
+            // Add a bus that connects all CPUs together
             TMLArchitecture arch = map.getArch();
+            HwBus main = new HwBus("mainbus");
+            main.privacy = HwBus.BUS_PUBLIC;
+            arch.addHwNode(main);
+
             List<HwNode> nodes =  arch.getCPUs();
             for (HwNode node:nodes){
+                // connect the CPU to the main bus
+                HwLink hwlink = new HwLink("link_tomainbus_of_" + node.getName());
+                hwlink.bus =  main;
+                hwlink.hwnode = node;
+
+                arch.addHwLink(hwlink);
+
+                // connect the CPU to an internal private bus with one memory
                 HwBus bus = new HwBus("bus" +node.getName());
-                bus.privacy=1;
+                bus.privacy = HwBus.BUS_PRIVATE;
                 HwMemory mem = new HwMemory("memory_" +node.getName());
-                HwLink hwlink = new HwLink("link_memory" +node.getName() + "_to_memorybus");
-                hwlink.bus=bus;
-                hwlink.hwnode=node;
+                hwlink = new HwLink("link_memory" +node.getName() + "_to_memorybus");
+                hwlink.bus = bus;
+                hwlink.hwnode = node;
                 HwLink hwlink2 = new HwLink("link_" +node.getName() + "_to_memorybus");
                 hwlink2.bus=bus;
                 hwlink2.hwnode=mem;
@@ -1712,8 +1796,9 @@ public class DSEConfiguration implements Runnable  {
                 arch.addHwNode(bus);
                 arch.addHwLink(hwlink);
                 arch.addHwLink(hwlink2);
-
             }
+
+
         }
     }
     private void generateMappings(TMLModeling<TGComponent> _tmlm, Vector<TMLMapping<TGComponent>> maps, int nbOfCPUs) {
diff --git a/src/main/java/dseengine/DSESimulationResult.java b/src/main/java/dseengine/DSESimulationResult.java
index ff63cdca7d9f91ecc6bfa7345b924d6a2185edbb..6bb38f8ef51dbf494b142dd94b0fd2fbf180b335 100755
--- a/src/main/java/dseengine/DSESimulationResult.java
+++ b/src/main/java/dseengine/DSESimulationResult.java
@@ -37,8 +37,6 @@
  */
 
 
-
-
 package dseengine;
 
 import myutil.FileUtils;
@@ -64,10 +62,11 @@ import java.util.Vector;
  * Class DSESimulationResult
  * Object for storing a simulation result
  * Creation: 06/09/2011
- * @version 1.0 06/09/2011
+ *
  * @author Ludovic APVRILLE
+ * @version 1.0 06/09/2011
  */
-public class DSESimulationResult  {
+public class DSESimulationResult {
 
     protected static final String SIMULATION_GLOBAL = "global";
     protected static final String SIMULATION_HEADER = "siminfo";
@@ -89,7 +88,7 @@ public class DSESimulationResult  {
     private Vector<CPUWholeResult> wcpus;
     private Vector<BusWholeResult> wbusses;
     private Vector<TaskWholeResult> wtasks;
-    private int addedSecurity=0;
+    private int addedSecurity = 0;
 
 
     public DSESimulationResult() {
@@ -109,12 +108,14 @@ public class DSESimulationResult  {
         comments.add(_comment);
     }
 
-    public int getAddedSecurity(){
+    public int getAddedSecurity() {
         return addedSecurity;
     }
-    public void setAddedSecurity(int i){
+
+    public void setAddedSecurity(int i) {
         addedSecurity = i;
     }
+
     public int loadResultFromXMLFile(String pathToFile) {
         File f = new File(pathToFile);
         String data = FileUtils.loadFileData(f);
@@ -145,7 +146,7 @@ public class DSESimulationResult  {
 
         if (index0 != -1) {
             //System.out.println("toto3");
-            ssxml = ssxml.substring(0, index0+10);
+            ssxml = ssxml.substring(0, index0 + 10);
             loadXMLInfoFromServer(ssxml);
             ssxml = "";
         }
@@ -195,7 +196,7 @@ public class DSESimulationResult  {
                 return false;
             }
 
-            for(i=0; i<nl.getLength(); i++) {
+            for (i = 0; i < nl.getLength(); i++) {
                 node = nl.item(i);
                 if (node.getNodeType() == Node.ELEMENT_NODE) {
                     // create design, and get an index for it
@@ -225,7 +226,7 @@ public class DSESimulationResult  {
         NodeList nl, nl0;
 
         try {
-            for(int j=0; j<diagramNl.getLength(); j++) {
+            for (int j = 0; j < diagramNl.getLength(); j++) {
                 //System.out.println("Ndes: " + j);
                 node = diagramNl.item(j);
 
@@ -235,11 +236,11 @@ public class DSESimulationResult  {
                 }
 
                 if (node.getNodeType() == Node.ELEMENT_NODE) {
-                    elt = (Element)node;
+                    elt = (Element) node;
 
                     //TraceManager.addDev("Found tag:" + elt.getTagName());
 
-                    if (elt.getTagName().compareTo(SIMULATION_GLOBAL) ==0) {
+                    if (elt.getTagName().compareTo(SIMULATION_GLOBAL) == 0) {
                         loadGlobalConfiguration(node);
                     }
 
@@ -282,7 +283,7 @@ public class DSESimulationResult  {
         int k, l;
 
         try {
-            for(int j=0; j<diagramNl.getLength(); j++) {
+            for (int j = 0; j < diagramNl.getLength(); j++) {
                 //System.out.println("Ndes: " + j);
                 node = diagramNl.item(j);
 
@@ -292,7 +293,7 @@ public class DSESimulationResult  {
                 }
 
                 if (node.getNodeType() == Node.ELEMENT_NODE) {
-                    elt = (Element)node;
+                    elt = (Element) node;
 
                     //TraceManager.addDev("Found tag tag:" + elt.getTagName());
 
@@ -302,7 +303,7 @@ public class DSESimulationResult  {
                         //System.out.println("Simulation duration=" + simdur);
                         simulationDurations.add(new Long(simdur));
                     }
-                    if (elt.getTagName().compareTo("EndTime")==0){
+                    if (elt.getTagName().compareTo("EndTime") == 0) {
                         String end = elt.getTextContent();
                         cycleDurations.add(new Long(end));
                     }
@@ -331,7 +332,7 @@ public class DSESimulationResult  {
                             if ((nl != null) && (nl.getLength() > 0)) {
                                 nl = elt.getElementsByTagName("contdel");
                                 node0 = nl.item(0);
-                                elt0 = (Element)node0;
+                                elt0 = (Element) node0;
                                 busid = elt0.getAttribute("busID");
                                 busname = elt0.getAttribute("busName");
                                 //System.out.println("nl:" + nl + " value=" + node0.getNodeValue() + " content=" + node0.getTextContent());
@@ -458,7 +459,7 @@ public class DSESimulationResult  {
     }
 
 
-    public static String decodeString(String s)  {
+    public static String decodeString(String s) {
         if (s == null)
             return s;
         byte b[] = null;
@@ -479,7 +480,7 @@ public class DSESimulationResult  {
         TaskWholeResult taskwr;
 
         // Durations
-        for(Long l: simulationDurations) {
+        for (Long l : simulationDurations) {
             if (sdwr == null) {
                 sdwr = new SimulationDurationWholeResult(l.longValue());
             } else {
@@ -487,7 +488,7 @@ public class DSESimulationResult  {
             }
         }
 
-        for(Long l: cycleDurations) {
+        for (Long l : cycleDurations) {
             if (cdwr == null) {
                 cdwr = new SimulationDurationWholeResult(l.longValue());
             } else {
@@ -496,7 +497,7 @@ public class DSESimulationResult  {
         }
         // CPUs
         wcpus = new Vector<CPUWholeResult>();
-        for(CPUResult rescpu: cpus) {
+        for (CPUResult rescpu : cpus) {
             o = resultsTable.get(rescpu.id);
             //TraceManager.addDev("Got o=" + o);
             if (o == null) {
@@ -505,13 +506,13 @@ public class DSESimulationResult  {
                 wcpus.add(cpuwr);
 
             } else {
-                cpuwr = (CPUWholeResult)o;
+                cpuwr = (CPUWholeResult) o;
                 cpuwr.updateResults(rescpu);
             }
         }
 
         wbusses = new Vector<BusWholeResult>();
-        for(BusResult resbus: busses) {
+        for (BusResult resbus : busses) {
             o = resultsTable.get(resbus.id);
             //TraceManager.addDev("Got o=" + o);
             if (o == null) {
@@ -520,13 +521,13 @@ public class DSESimulationResult  {
                 wbusses.add(buswr);
 
             } else {
-                buswr = (BusWholeResult)o;
+                buswr = (BusWholeResult) o;
                 buswr.updateResults(resbus);
             }
         }
 
         wtasks = new Vector<TaskWholeResult>();
-        for(TaskResult restask: tasks) {
+        for (TaskResult restask : tasks) {
             o = resultsTable.get(restask.id);
             //TraceManager.addDev("Got o=" + o);
             if (o == null) {
@@ -535,7 +536,7 @@ public class DSESimulationResult  {
                 wtasks.add(taskwr);
 
             } else {
-                taskwr = (TaskWholeResult)o;
+                taskwr = (TaskWholeResult) o;
                 taskwr.updateResults(restask);
             }
         }
@@ -548,17 +549,35 @@ public class DSESimulationResult  {
         StringBuffer sb = new StringBuffer("");
 
         //      sb.append(sdwr.toStringResult() + "\n");
-        sb.append("CYCLE "+cdwr.toStringResult() + "\n");
-        for(CPUWholeResult reswcpu: wcpus) {
-            sb.append(reswcpu.toStringResult() + "\n");
+        try {
+            sb.append("CYCLE " + cdwr.toStringResult() + "\n");
+        } catch (Exception e) {
+            TraceManager.addDev("Exception on reading CYCLE in results");
         }
 
-        for(BusWholeResult reswbus: wbusses) {
-            sb.append(reswbus.toStringResult() + "\n");
+
+        for (CPUWholeResult reswcpu : wcpus) {
+            try {
+                sb.append(reswcpu.toStringResult() + "\n");
+            } catch (Exception e) {
+                TraceManager.addDev("Exception on reading WPUS in results");
+            }
         }
 
-        for(TaskWholeResult reswtask: wtasks) {
-            sb.append(reswtask.toStringResult() + "\n");
+        for (BusWholeResult reswbus : wbusses) {
+            try {
+                sb.append(reswbus.toStringResult() + "\n");
+            } catch (Exception e) {
+                TraceManager.addDev("Exception on reading WBUS in results");
+            }
+        }
+
+        for (TaskWholeResult reswtask : wtasks) {
+            try {
+                sb.append(reswtask.toStringResult() + "\n");
+            } catch (Exception e) {
+                TraceManager.addDev("Exception on reading WTASKS in results");
+            }
         }
 
         return sb.toString();
@@ -567,22 +586,22 @@ public class DSESimulationResult  {
     public String getAllResults() {
         StringBuffer sb = new StringBuffer("");
 
-        for(Long l: simulationDurations) {
+        for (Long l : simulationDurations) {
             sb.append("DURATION " + l + "\n");
         }
-        for(Long l: cycleDurations) {
+        for (Long l : cycleDurations) {
             sb.append("CYCLES " + l + "\n");
         }
 
-        for(CPUResult rescpu: cpus) {
+        for (CPUResult rescpu : cpus) {
             sb.append(rescpu.toStringResult() + "\n");
         }
 
-        for(BusResult resbus: busses) {
+        for (BusResult resbus : busses) {
             sb.append(resbus.toStringResult() + "\n");
         }
 
-        for(TaskResult restask: tasks) {
+        for (TaskResult restask : tasks) {
             sb.append(restask.toStringResult() + "\n");
         }
 
@@ -592,8 +611,8 @@ public class DSESimulationResult  {
     public String getAllComments() {
         String s = "";
 
-        for(String st: comments) {
-            s+= "#" + st + "\n";
+        for (String st : comments) {
+            s += "#" + st + "\n";
         }
 
         return s;
@@ -609,7 +628,7 @@ public class DSESimulationResult  {
         s += "# Busses: BUS ID Name nbOfResults minUtilization averageUtilization maxUtilization\n";
         s += "# Tasks: TASK ID Name nbOfResults minExecutedCycles averageExecutedCycles maxExecutedCycles nbOfRunnable nbOfRunning nbOfsuspended nbOfTerminated\n";
 
-        s+= "\n";
+        s += "\n";
 
         return s;
     }
@@ -628,7 +647,7 @@ public class DSESimulationResult  {
     public double getAverageCPUUsage() {
         double average = 0;
 
-        for(CPUWholeResult wcpu: wcpus) {
+        for (CPUWholeResult wcpu : wcpus) {
             average += wcpu.averageUtilization;
         }
 
@@ -638,7 +657,7 @@ public class DSESimulationResult  {
     public double getMaxCPUUsage() {
         double max = 0;
 
-        for(CPUWholeResult wcpu: wcpus) {
+        for (CPUWholeResult wcpu : wcpus) {
             max = Math.max(max, wcpu.maxUtilization);
         }
 
@@ -648,8 +667,8 @@ public class DSESimulationResult  {
     public double getMinCPUUsage() {
         double min = 1.1;
 
-        for(CPUWholeResult wcpu: wcpus) {
-            min= Math.min(min, wcpu.minUtilization);
+        for (CPUWholeResult wcpu : wcpus) {
+            min = Math.min(min, wcpu.minUtilization);
         }
 
         return min;
@@ -660,7 +679,7 @@ public class DSESimulationResult  {
     public double getAverageBusUsage() {
         double average = 0;
 
-        for(BusWholeResult wbus: wbusses) {
+        for (BusWholeResult wbus : wbusses) {
             average += wbus.averageUtilization;
         }
 
@@ -670,7 +689,7 @@ public class DSESimulationResult  {
     public double getMaxBusUsage() {
         double max = 0;
 
-        for(BusWholeResult wbus: wbusses) {
+        for (BusWholeResult wbus : wbusses) {
             max = Math.max(max, wbus.maxUtilization);
         }
 
@@ -680,8 +699,8 @@ public class DSESimulationResult  {
     public double getMinBusUsage() {
         double min = 1.1;
 
-        for(BusWholeResult wbus: wbusses) {
-            min= Math.min(min, wbus.minUtilization);
+        for (BusWholeResult wbus : wbusses) {
+            min = Math.min(min, wbus.minUtilization);
         }
 
         return min;
@@ -693,7 +712,7 @@ public class DSESimulationResult  {
     public double getAverageBusContention() {
         double average = 0;
 
-        for(CPUWholeResult wcpu: wcpus) {
+        for (CPUWholeResult wcpu : wcpus) {
             average += wcpu.getAverageBusContention();
         }
 
@@ -703,7 +722,7 @@ public class DSESimulationResult  {
     public long getMaxBusContention() {
         long max = 0;
 
-        for(CPUWholeResult wcpu: wcpus) {
+        for (CPUWholeResult wcpu : wcpus) {
             max = Math.max(max, wcpu.getMaxBusContention());
         }
 
@@ -713,8 +732,8 @@ public class DSESimulationResult  {
     public long getMinBusContention() {
         long min = 0;
 
-        for(CPUWholeResult wcpu: wcpus) {
-            min= Math.min(min, wcpu.getMinBusContention());
+        for (CPUWholeResult wcpu : wcpus) {
+            min = Math.min(min, wcpu.getMinBusContention());
         }
 
         return min;
@@ -723,9 +742,11 @@ public class DSESimulationResult  {
     public double getAverageSimulationDuration() {
         return sdwr.averageDuration;
     }
-    public double getAverageCycleDuration(){
+
+    public double getAverageCycleDuration() {
         return cdwr.averageDuration;
     }
+
     public long getMaxSimulationDuration() {
         return sdwr.maxDuration;
     }
@@ -743,6 +764,4 @@ public class DSESimulationResult  {
     }
 
 
-
-
 } // Class DSEConfiguration
diff --git a/src/main/java/myutil/FileUtils.java b/src/main/java/myutil/FileUtils.java
index 77192e399662bf922d0f1b51d1f9f22419e7a623..d8e5acc4123328ce1b7977c726c30ed227757a7b 100755
--- a/src/main/java/myutil/FileUtils.java
+++ b/src/main/java/myutil/FileUtils.java
@@ -37,8 +37,6 @@
  */
 
 
-
-
 package myutil;
 
 import java.io.File;
@@ -48,12 +46,13 @@ import java.io.FilenameFilter;
 
 
 /**
-   * Class FileUtils
-   * Creation: 01/12/2003
-   * @version 1.1 01/12/2003
-   * @author Ludovic APVRILLE
+ * Class FileUtils
+ * Creation: 01/12/2003
+ *
+ * @author Ludovic APVRILLE
+ * @version 1.1 01/12/2003
  */
-public class FileUtils extends org.apache.commons.io.FileUtils{
+public class FileUtils extends org.apache.commons.io.FileUtils {
 
     public final static String xml = "xml";
     public final static String rtl = "lot";
@@ -74,24 +73,23 @@ public class FileUtils extends org.apache.commons.io.FileUtils{
     public static String getExtension(File f) {
         return getExtension(f.getName());
     }
-    
+
     public static String getExtension(String name) {
         String ext = "";
         int i = name.lastIndexOf('.');
 
-        if (i > 0 &&  i < name.length() - 1) {
-            ext = name.substring(i+1).toLowerCase();
+        if (i > 0 && i < name.length() - 1) {
+            ext = name.substring(i + 1).toLowerCase();
         }
         return ext;
     }
 
 
     public static boolean checkPath(String path) {
-	return new File(path).isDirectory();
+        return new File(path).isDirectory();
     }
 
-    
-    
+
     public static boolean checkFileForSave(File file) throws FileException {
         //     boolean ok = true;
         //    String pb = "";
@@ -148,7 +146,7 @@ public class FileUtils extends org.apache.commons.io.FileUtils{
             ba = new byte[nb];
             fis.read(ba);
             fis.close();
-        } catch(Exception e) {
+        } catch (Exception e) {
             return null;
         }
         return new String(ba);
@@ -187,7 +185,7 @@ public class FileUtils extends org.apache.commons.io.FileUtils{
         int index = filename.indexOf(".");
 
         if (index == -1) {
-            return filename+tobeadded;
+            return filename + tobeadded;
         }
 
         filename = filename.substring(0, index) + tobeadded + filename.substring(index, filename.length());
@@ -198,7 +196,7 @@ public class FileUtils extends org.apache.commons.io.FileUtils{
         int index = filename.indexOf(".");
 
         if (index == -1) {
-            return filename+"." + extension;
+            return filename + "." + extension;
         }
 
         filename = filename.substring(0, index) + "." + extension;
@@ -229,16 +227,16 @@ public class FileUtils extends org.apache.commons.io.FileUtils{
         File f = new File(name);
         String s = null;
 
-        if(checkFileForOpen(f)) {
+        if (checkFileForOpen(f)) {
             try {
                 FileInputStream fis = new FileInputStream(f);
                 int nb = fis.available();
 
-                byte [] ba = new byte[nb];
+                byte[] ba = new byte[nb];
                 fis.read(ba);
                 fis.close();
                 s = new String(ba);
-            } catch(Exception e) {
+            } catch (Exception e) {
                 throw new FileException(e.getMessage());
             }
         } else {
@@ -255,7 +253,7 @@ public class FileUtils extends org.apache.commons.io.FileUtils{
 
     public static void saveFile(File f, String data) throws FileException {
 
-        if(checkFileForSave(f)) {
+        if (checkFileForSave(f)) {
             try {
                 if (data == null) {
                     return;
@@ -264,7 +262,7 @@ public class FileUtils extends org.apache.commons.io.FileUtils{
                 fos.write(data.getBytes());
                 fos.close();
                 return;
-            } catch(Exception e) {
+            } catch (Exception e) {
                 throw new FileException("Pb when saving file");
             }
         } else {
@@ -272,22 +270,21 @@ public class FileUtils extends org.apache.commons.io.FileUtils{
         }
     }
 
-    public static String deleteFiles( String d ) {
-    	return deleteFiles( d, null );
+    public static String deleteFiles(String d) {
+        return deleteFiles(d, null);
     }
 
     // d: directory, e : extension
-    public static String deleteFiles(String d, String e ) {
+    public static String deleteFiles(String d, String e) {
         File dir = new File(d);
-        final String[] list; 
+        final String[] list;
 
-        if ( e == null ) {
-        	list = dir.list();
-    	}
-    	else {
-    		final ExtensionFilter filter = new ExtensionFilter(e);
-    		list = dir.list(filter);
-    	}
+        if (e == null) {
+            list = dir.list();
+        } else {
+            final ExtensionFilter filter = new ExtensionFilter(e);
+            list = dir.list(filter);
+        }
 
         File file;
         boolean isDeleted;
@@ -309,11 +306,24 @@ public class FileUtils extends org.apache.commons.io.FileUtils{
         return files;
     }
 
+    public static void mkdir(String path) throws SecurityException {
+        File theDir = new File(path);
+
+        // if the directory does not exist, create it
+        if (!theDir.exists()) {
+                theDir.mkdir();
+        }
+
+    }
+
+
     static class ExtensionFilter implements FilenameFilter {
         private String extension;
-        public ExtensionFilter( String extension ) {
+
+        public ExtensionFilter(String extension) {
             this.extension = extension;
         }
+
         public boolean accept(File dir, String name) {
             return (name.endsWith(extension));
         }
diff --git a/src/main/java/myutil/Plugin.java b/src/main/java/myutil/Plugin.java
index f57b22779a22ae87d8bc8fb414b79ebc7697c534..dac53373ed3c881e96164f0e095e1dfaa3108464 100755
--- a/src/main/java/myutil/Plugin.java
+++ b/src/main/java/myutil/Plugin.java
@@ -265,12 +265,13 @@ public class Plugin {
 	return (boolean)(method.invoke(instance));
     }
     
-    public static boolean executeBoolStringMethod(Object instance, String value, String _methodName) throws Exception {
-	Class[] cArg = new Class[1];
+    public static boolean executeBoolStringMethod(Object instance, String value, String _methodName, String options) throws Exception {
+	Class[] cArg = new Class[2];
 	cArg[0] = String.class;
+	cArg[1] = String.class;
 	//TraceManager.addDev("Looking for method=" + _methodName + " in instance " + instance);
 	Method method = instance.getClass().getMethod(_methodName, cArg);
-	return (boolean)(method.invoke(instance, value));
+	return (boolean)(method.invoke(instance, value, options));
     }
     
 
diff --git a/src/main/java/tmltranslator/HwBus.java b/src/main/java/tmltranslator/HwBus.java
index 4ca859e2a56ba304a0007b60d3e8760b12267780..2106e0112732e2f65cf03f7b8e2229b2f7a20681 100755
--- a/src/main/java/tmltranslator/HwBus.java
+++ b/src/main/java/tmltranslator/HwBus.java
@@ -37,41 +37,40 @@
  */
 
 
-
-
 package tmltranslator;
 
 /**
  * Class HwBus
  * Creation: 05/09/2007
- * @version 1.0 05/09/2007
+ *
  * @author Ludovic APVRILLE
+ * @version 1.0 05/09/2007
  */
-public class HwBus extends HwCommunicationNode  {
+public class HwBus extends HwCommunicationNode {
 
     // Management policy
     public static final int BASIC_ROUND_ROBIN = 0;
     public static final int PRIORITY_BASED = 1;
     public static final int CAN = 2;
     public static final int CROSSBAR = 3;
-    
+
     public static final int DEFAULT_SLICE_TIME = 10000; // in microseconds
     public static final int DEFAULT_BYTE_DATA_SIZE = 4;
     public static final int DEFAULT_PIPELINE_SIZE = 1;
     public static final int DEFAULT_ARBITRATION = BASIC_ROUND_ROBIN;
-    
+
     public int byteDataSize = DEFAULT_BYTE_DATA_SIZE; // In bytes. Should more than 0
     public int pipelineSize = DEFAULT_PIPELINE_SIZE;
     public int arbitration = DEFAULT_ARBITRATION;
     public int sliceTime = DEFAULT_SLICE_TIME;
-    
+
     public HwBus(String _name) {
         super(_name);
     }
 
     public String toXML() {
-	String s = "<BUS name=\"" + getName() + "\" clockRatio=\"" + clockRatio + "\"  byteDataSize=\"" + byteDataSize + "\"  pipelineSize=\"" + pipelineSize + "\" arbitration=\"" + arbitration + "\" sliceTime=\"" + sliceTime + "\" />\n";
-	return s;
+        String s = "<BUS name=\"" + getName() + "\" clockRatio=\"" + clockRatio + "\"  byteDataSize=\"" + byteDataSize + "\"  pipelineSize=\"" + pipelineSize + "\" arbitration=\"" + arbitration + "\" sliceTime=\"" + sliceTime + "\" />\n";
+        return s;
     }
 
 }
diff --git a/src/main/java/tmltranslator/HwLink.java b/src/main/java/tmltranslator/HwLink.java
index 3664381f64cde843a5ae15c7c7333605f3d5d5e2..ca2c23259ccbc0c3b1f02088c2e77604e1cea2d6 100755
--- a/src/main/java/tmltranslator/HwLink.java
+++ b/src/main/java/tmltranslator/HwLink.java
@@ -84,6 +84,4 @@ public class HwLink implements Comparable<HwLink> {
 	return s;
     }
 
-    
-
 }
diff --git a/src/main/java/tmltranslator/TMLChannel.java b/src/main/java/tmltranslator/TMLChannel.java
index e6b36d8dab22c936c875e177b5934cf5f3a2a378..652e982f199fb43d6cc0b5ed5394a0d329139f3c 100755
--- a/src/main/java/tmltranslator/TMLChannel.java
+++ b/src/main/java/tmltranslator/TMLChannel.java
@@ -1,26 +1,26 @@
 /* Copyright or (C) or Copr. GET / ENST, Telecom-Paris, Ludovic Apvrille
- * 
+ *
  * ludovic.apvrille AT enst.fr
- * 
+ *
  * This software is a computer program whose purpose is to allow the
  * edition of TURTLE analysis, design and deployment diagrams, to
  * allow the generation of RT-LOTOS or Java code from this diagram,
  * and at last to allow the analysis of formal validation traces
  * obtained from external tools, e.g. RTL from LAAS-CNRS and CADP
  * from INRIA Rhone-Alpes.
- * 
+ *
  * This software is governed by the CeCILL  license under French law and
  * abiding by the rules of distribution of free software.  You can  use,
  * modify and/ or redistribute the software under the terms of the CeCILL
  * license as circulated by CEA, CNRS and INRIA at the following URL
  * "http://www.cecill.info".
- * 
+ *
  * As a counterpart to the access to the source code and  rights to copy,
  * modify and redistribute granted by the license, users are provided only
  * with a limited warranty  and the software's author,  the holder of the
  * economic rights,  and the successive licensors  have only  limited
  * liability.
- * 
+ *
  * In this respect, the user's attention is drawn to the risks associated
  * with loading,  using,  modifying and/or developing or reproducing the
  * software by the user in light of its specific status of free software,
@@ -31,14 +31,12 @@
  * requirements in conditions enabling the security of their systems and/or
  * data to be ensured and,  more generally, to use and operate it in the
  * same conditions as regards security.
- * 
+ *
  * The fact that you are presently reading this means that you have had
  * knowledge of the CeCILL license and that you accept its terms.
  */
 
 
-
-
 package tmltranslator;
 
 import myutil.TraceManager;
@@ -48,10 +46,11 @@ import java.util.ArrayList;
 import java.util.List;
 
 /**
-   * Class TMLChannel
-   * Creation: 22/11/2005
-   * @version 1.0 22/11/2005
-   * @author Ludovic APVRILLE
+ * Class TMLChannel
+ * Creation: 22/11/2005
+ *
+ * @author Ludovic APVRILLE
+ * @version 1.0 22/11/2005
  */
 public class TMLChannel extends TMLCommunicationElement {
 
@@ -67,7 +66,7 @@ public class TMLChannel extends TMLCommunicationElement {
     public TMLCPrimitivePort port;
     public TMLCPrimitivePort port2;
     public ArrayList<TMLCPrimitivePort> ports;
-    
+
     // Used on for 1 -> 1 channel
     protected TMLTask originTask, destinationTask;
     protected TMLPort originPort, destinationPort; // Not used by the simulator
@@ -89,8 +88,8 @@ public class TMLChannel extends TMLCommunicationElement {
         destinationTasks = new ArrayList<TMLTask>();
         originPorts = new ArrayList<TMLPort>();
         destinationPorts = new ArrayList<TMLPort>();
-	ports = new ArrayList<TMLCPrimitivePort>();
-	checkConf=false;
+        ports = new ArrayList<TMLCPrimitivePort>();
+        checkConf = false;
     }
 
 
@@ -99,7 +98,7 @@ public class TMLChannel extends TMLCommunicationElement {
             return true;
         }
 
-        for(TMLTask task: destinationTasks) {
+        for (TMLTask task : destinationTasks) {
             if (task == t) {
                 return true;
             }
@@ -117,7 +116,7 @@ public class TMLChannel extends TMLCommunicationElement {
             return true;
         }
 
-        for(TMLTask task: originTasks) {
+        for (TMLTask task : originTasks) {
             //TraceManager.addDev("t=" + t + " origins task=" + task);
             if (task == t) {
                 return true;
@@ -135,7 +134,7 @@ public class TMLChannel extends TMLCommunicationElement {
         }
 
         String ret = "";
-        for(TMLTask task: destinationTasks) {
+        for (TMLTask task : destinationTasks) {
             ret += " " + task.getName();
         }
         return ret.trim();
@@ -144,17 +143,18 @@ public class TMLChannel extends TMLCommunicationElement {
     public TMLTask getOriginTask(int index) {
         return originTasks.get(index);
     }
-	public List<String> getTaskNames(){
-		List<String> taskNames = new ArrayList<String>();
-		if (isBasicChannel()){
-			taskNames.add(destinationTask.getTaskName());
-			return taskNames;
-		}
-		for (TMLTask destTask: destinationTasks){
-			taskNames.add(destTask.getTaskName());
-		}
-		return taskNames;
-	}
+
+    public List<String> getTaskNames() {
+        List<String> taskNames = new ArrayList<String>();
+        if (isBasicChannel()) {
+            taskNames.add(destinationTask.getTaskName());
+            return taskNames;
+        }
+        for (TMLTask destTask : destinationTasks) {
+            taskNames.add(destTask.getTaskName());
+        }
+        return taskNames;
+    }
 
     public TMLTask getDestinationTask(int index) {
         return destinationTasks.get(index);
@@ -174,7 +174,7 @@ public class TMLChannel extends TMLCommunicationElement {
         }
 
         String ret = "";
-        for(TMLTask task: originTasks) {
+        for (TMLTask task : originTasks) {
             ret += " " + task.getName();
         }
         return ret.trim();
@@ -200,7 +200,7 @@ public class TMLChannel extends TMLCommunicationElement {
         //TraceManager.addDev("Searching for dest port=" + name);
         if (destinationPort != null) {
             //TraceManager.addDev("Dest port1=" + destinationPort.getName());
-            if (destinationPort.getName().compareTo(name) ==0) {
+            if (destinationPort.getName().compareTo(name) == 0) {
                 //TraceManager.addDev("Found1");
                 return destinationPort;
             }
@@ -210,9 +210,9 @@ public class TMLChannel extends TMLCommunicationElement {
             return null;
         }
 
-        for (TMLPort port: destinationPorts) {
+        for (TMLPort port : destinationPorts) {
             //TraceManager.addDev("Dest portm=" + port.getName());
-            if (port.getName().compareTo(name) ==0) {
+            if (port.getName().compareTo(name) == 0) {
                 //TraceManager.addDev("Foundm");
                 return port;
             }
@@ -255,7 +255,7 @@ public class TMLChannel extends TMLCommunicationElement {
     }
 
     public void toBasicIfPossible() {
-        if ((originTasks.size() ==1) && (destinationTasks.size() ==1)) {
+        if ((originTasks.size() == 1) && (destinationTasks.size() == 1)) {
             originTask = originTasks.get(0);
             destinationTask = destinationTasks.get(0);
             originPort = originPorts.get(0);
@@ -320,21 +320,21 @@ public class TMLChannel extends TMLCommunicationElement {
         return destinationTask;
     }
 
-	public TMLTask getSystemOriginTask() {
-		for (TMLTask task: originTasks){
-			if (!task.isAttacker()){
-				return task;
-			}
-		}
+    public TMLTask getSystemOriginTask() {
+        for (TMLTask task : originTasks) {
+            if (!task.isAttacker()) {
+                return task;
+            }
+        }
         return originTask;
     }
 
     public TMLTask getSystemDestinationTask() {
-		for (TMLTask task: destinationTasks){
-			if (!task.isAttacker()){
-				return task;
-			}
-		}
+        for (TMLTask task : destinationTasks) {
+            if (!task.isAttacker()) {
+                return task;
+            }
+        }
         return destinationTask;
     }
 
@@ -401,60 +401,60 @@ public class TMLChannel extends TMLCommunicationElement {
     }
 
     public static String getStringType(int type) {
-        switch(type) {
-        case BRBW:
-            return "BRBW";
-        case BRNBW:
-            return "BRNBW";
-        case NBRNBW:
-            return "NBRNBW";
+        switch (type) {
+            case BRBW:
+                return "BRBW";
+            case BRNBW:
+                return "BRNBW";
+            case NBRNBW:
+                return "NBRNBW";
         }
         return "unknown type";
     }
 
     public boolean isBlockingAtOrigin() {
-        switch(type) {
-        case BRBW:
-            return true;
-        case BRNBW:
-            return false;
-        case NBRNBW:
-            return false;
+        switch (type) {
+            case BRBW:
+                return true;
+            case BRNBW:
+                return false;
+            case NBRNBW:
+                return false;
         }
         return false;
     }
 
     public boolean isBlockingAtDestination() {
-        switch(type) {
-        case BRBW:
-            return true;
-        case BRNBW:
-            return true;
-        case NBRNBW:
-            return false;
+        switch (type) {
+            case BRBW:
+                return true;
+            case BRNBW:
+                return true;
+            case NBRNBW:
+                return false;
         }
         return false;
     }
 
-    public String toString()    {
+    public String toString() {
 
         String s = TAB + "CHANNEL" + SP + name + CR;
-        if( isBasicChannel() )  {
+        if (isBasicChannel()) {
             s += TAB2 + "Origin task: " + originTask.getName() + CR;
             s += TAB2 + "Origin port: " + originPort.getName() + CR;
             s += TAB2 + "Destination task: " + destinationTask.getName() + CR;
             s += TAB2 + "Destination port: " + destinationPort.getName() + CR;
         }
-        if( isAForkChannel() )  {
+        if (isAForkChannel()) {
             s += TAB2 + "Origin task: " + originTasks.get(0).getName() + CR;
             s += TAB2 + "Origin port: " + originPorts.get(0).getName() + CR;
-            for( int i = 0; i < destinationTasks.size(); i++ )  {
-                s += TAB2 + "Destination task: "  +destinationTasks.get(i).getName() + CR;
+            for (int i = 0; i < destinationTasks.size(); i++) {
+                s += TAB2 + "Destination task: " + destinationTasks.get(i).getName() + CR;
                 s += TAB2 + "Destination port: " + destinationPorts.get(i).getName() + CR;
             }
         }
-        if( isAJoinChannel() )  {
-            for( int i = 0; i < originTasks.size(); i++ )       {
+        if (isAJoinChannel()) {
+            for (int i = 0; i < originTasks.size(); i++) {
                 s += TAB2 + "Origin task: " + originTasks.get(i).getName() + CR;
                 s += TAB2 + "Origin port: " + originPorts.get(i).getName() + CR;
             }
@@ -465,63 +465,63 @@ public class TMLChannel extends TMLCommunicationElement {
     }
 
     public String toXML() {
-	TraceManager.addDev("Channel:" + this.toString());
-	String s = "<TMLCHANNEL ";
-	s += "name=\"" + name + "\" ";
-	if( isBasicChannel() )  {
-	    s += "origintask=\"" +  originTask.getName() + "\" ";
-	    s += "originport=\"" +  originPort.getName() + "\" ";
-	    s += "destinationtask=\"" + destinationTask.getName() + "\" ";
-	    s += "destinationport=\"" + destinationPort.getName() + "\" ";
-    	s += "dataFlowType=\"" + originPort.getDataFlowType() + "\" ";
-	}
-	if( isAForkChannel() )  {
-	    s += "origintask=\"" +  originTasks.get(0).getName() + "\" ";
-	    s += "originport=\"" +  originPorts.get(0).getName() + "\" ";
-	    String destTask = "";
-	    String destPort = "";
-	    for( int i = 0; i < destinationTasks.size(); i++ )  {
-		destTask += destinationTasks.get(i).getName() + ";";
-		destPort += destinationPorts.get(i).getName() + ";";
-	    }
-	    s += "destinationtask=\"" + destTask + "\" ";
-	    s += "destinationport=\"" +  destPort + "\" ";
-    	s += "dataFlowType=\"" + originPort.getDataFlowType() + "\" ";
-	}
-	if (isAJoinChannel()) {
-	    s += "destinationtask=\"" + destinationTasks.get(0).getName() + "\" ";
-	    s += "destinationport=\"" + destinationPorts.get(0).getName() + "\" ";
-
-	    // Origin
-	    String oriTask = "";
-	    String oriPort = "";
-	    for( int i = 0; i < originTasks.size(); i++ )  {
-		oriTask += originTasks.get(i).getName() + ";";
-		oriPort += originPorts.get(i).getName() + ";";
-	    }
-	    s += "origintask=\"" + oriTask + "\" ";
-	    s += "originport=\"" +  oriPort + "\" ";
-    	s += "dataFlowType=\"" + originPorts.get(0).getDataFlowType() + "\" ";
-	}
-	
-	s += "isLossy=\"" + isLossy + "\" ";
-    s += "lossPercentage=\"" + lossPercentage + "\" ";
-	s += "maxNbOfLoss=\"" + maxNbOfLoss + "\" ";
-	switch(type) {
-	case BRBW:
-	    s += "type=\"BRBW\" ";
-	    break;
-	case BRNBW:
-	    s += "type=\"BRNBW\" ";
-	    break;
-	case NBRNBW:
-	default:
-	    s += "type=\"NBRNBW\" ";  
-	}
-	s += "size=\"" + size + "\" ";
-	s += "max=\"" + max + "\" ";
-	s += " />\n";
-	return s;
+        TraceManager.addDev("Channel:" + this.toString());
+        String s = "<TMLCHANNEL ";
+        s += "name=\"" + name + "\" ";
+        if (isBasicChannel()) {
+            s += "origintask=\"" + originTask.getName() + "\" ";
+            s += "originport=\"" + originPort.getName() + "\" ";
+            s += "destinationtask=\"" + destinationTask.getName() + "\" ";
+            s += "destinationport=\"" + destinationPort.getName() + "\" ";
+            s += "dataFlowType=\"" + originPort.getDataFlowType() + "\" ";
+        }
+        if (isAForkChannel()) {
+            s += "origintask=\"" + originTasks.get(0).getName() + "\" ";
+            s += "originport=\"" + originPorts.get(0).getName() + "\" ";
+            String destTask = "";
+            String destPort = "";
+            for (int i = 0; i < destinationTasks.size(); i++) {
+                destTask += destinationTasks.get(i).getName() + ";";
+                destPort += destinationPorts.get(i).getName() + ";";
+            }
+            s += "destinationtask=\"" + destTask + "\" ";
+            s += "destinationport=\"" + destPort + "\" ";
+            s += "dataFlowType=\"" + originPort.getDataFlowType() + "\" ";
+        }
+        if (isAJoinChannel()) {
+            s += "destinationtask=\"" + destinationTasks.get(0).getName() + "\" ";
+            s += "destinationport=\"" + destinationPorts.get(0).getName() + "\" ";
+
+            // Origin
+            String oriTask = "";
+            String oriPort = "";
+            for (int i = 0; i < originTasks.size(); i++) {
+                oriTask += originTasks.get(i).getName() + ";";
+                oriPort += originPorts.get(i).getName() + ";";
+            }
+            s += "origintask=\"" + oriTask + "\" ";
+            s += "originport=\"" + oriPort + "\" ";
+            s += "dataFlowType=\"" + originPorts.get(0).getDataFlowType() + "\" ";
+        }
+
+        s += "isLossy=\"" + isLossy + "\" ";
+        s += "lossPercentage=\"" + lossPercentage + "\" ";
+        s += "maxNbOfLoss=\"" + maxNbOfLoss + "\" ";
+        switch (type) {
+            case BRBW:
+                s += "type=\"BRBW\" ";
+                break;
+            case BRNBW:
+                s += "type=\"BRNBW\" ";
+                break;
+            case NBRNBW:
+            default:
+                s += "type=\"NBRNBW\" ";
+        }
+        s += "size=\"" + size + "\" ";
+        s += "max=\"" + max + "\" ";
+        s += " />\n";
+        return s;
     }
 
 }
diff --git a/src/main/java/tmltranslator/TMLEvent.java b/src/main/java/tmltranslator/TMLEvent.java
index 85bb43f96f8701853abb6276b7d0733e3c2fcfef..e3c10e0e0482ce9a2caccb023500fa696a603d5d 100755
--- a/src/main/java/tmltranslator/TMLEvent.java
+++ b/src/main/java/tmltranslator/TMLEvent.java
@@ -246,6 +246,14 @@ public class TMLEvent extends TMLCommunicationElement {
         return destinationTasks;
     }
 
+    public TMLPort getOriginPort() {
+        return originPort;
+    }
+
+    public TMLPort getDestinationPort() {
+        return destinationPort;
+    }
+
     public List<TMLPort> getOriginPorts() {
         return originPorts;
     }
diff --git a/src/main/java/tmltranslator/TMLMapping.java b/src/main/java/tmltranslator/TMLMapping.java
index e1beb71f31036eaed1f406bd1070bc3e2d29d767..88c6a37bd8536d4c90fbc02fd4f0a4c96013edc9 100755
--- a/src/main/java/tmltranslator/TMLMapping.java
+++ b/src/main/java/tmltranslator/TMLMapping.java
@@ -39,23 +39,21 @@
  */
 
 
-
-
 package tmltranslator;
 
-import myutil.*;
+import myutil.TraceManager;
 import tmltranslator.toproverif.TML2ProVerif;
-import ui.TMLArchiPanel;
-import ui.TMLComponentDesignPanel;
 import ui.CorrespondanceTGElement;
+import automata.*;
 
 import java.util.*;
 
 /**
  * Class TMLMapping
  * Creation: 05/09/2007
- * @version 1.1 10/06/2014
+ *
  * @author Ludovic APVRILLE, Andrea ENRICI
+ * @version 1.1 10/06/2014
  */
 public class TMLMapping<E> {
 
@@ -75,8 +73,8 @@ public class TMLMapping<E> {
 
     // Security
     public boolean firewall = false;
-    public Map<SecurityPattern, List<HwMemory>> mappedSecurity= new HashMap<SecurityPattern, List<HwMemory>>();
-    private List<String[]> pragmas= new ArrayList<String[]>();
+    public Map<SecurityPattern, List<HwMemory>> mappedSecurity = new HashMap<SecurityPattern, List<HwMemory>>();
+    private List<String[]> pragmas = new ArrayList<String[]>();
 
     // CPs
     private List<TMLCPLib> mappedCPLibs;
@@ -88,6 +86,11 @@ public class TMLMapping<E> {
     private int hashCode;
     private boolean hashCodeComputed = false;
 
+    // Automata to verify the mapping of channels
+    // and make minimal hardware
+    private Automata aut;
+    private HashMap<HwNode, State> nodesToStates;
+
 
 
     // REFERENCES TO BE REMOVED!!!! :(
@@ -101,7 +104,7 @@ public class TMLMapping<E> {
         tmla = _tmla;
         init();
 
-        if( reset ) {
+        if (reset) {
             DIPLOElement.resetID();
         }
     }
@@ -118,43 +121,44 @@ public class TMLMapping<E> {
     //        }
     //    }
 
-    public TMLArchitecture getArch(){
+    public TMLArchitecture getArch() {
         return tmla;
     }
 
-    public void translate2ProVerif(){
-        /*TML2ProVerif spec =*/ new TML2ProVerif(this);
+    public void translate2ProVerif() {
+        /*TML2ProVerif spec =*/
+        new TML2ProVerif(this);
     }
 
-    public List<HwMemory> getMappedMemory(SecurityPattern sp){
+    public List<HwMemory> getMappedMemory(SecurityPattern sp) {
         return mappedSecurity.get(sp);
     }
 
-    public List<SecurityPattern> getMappedPatterns(HwMemory mem){
+    public List<SecurityPattern> getMappedPatterns(HwMemory mem) {
         List<SecurityPattern> l = new ArrayList<SecurityPattern>();
-        for (SecurityPattern sp: mappedSecurity.keySet()){
-            if (mappedSecurity.get(sp).contains(mem)){
+        for (SecurityPattern sp : mappedSecurity.keySet()) {
+            if (mappedSecurity.get(sp).contains(mem)) {
                 l.add(sp);
             }
         }
         return l;
     }
 
-    public SecurityPattern getSecurityPatternByName(String name){
-        for (SecurityPattern sp: tmlm.secPatterns){
-            if (sp.name.equals(name)){
+    public SecurityPattern getSecurityPatternByName(String name) {
+        for (SecurityPattern sp : tmlm.secPatterns) {
+            if (sp.name.equals(name)) {
                 return sp;
             }
         }
         return null;
     }
 
-    public CorrespondanceTGElement getCorrespondanceList(){
+    public CorrespondanceTGElement getCorrespondanceList() {
         return listE;
     }
 
-    public void setCorrespondanceList(CorrespondanceTGElement cl){
-        listE=cl;
+    public void setCorrespondanceList(CorrespondanceTGElement cl) {
+        listE = cl;
     }
 
 
@@ -164,7 +168,7 @@ public class TMLMapping<E> {
 
     public void makeMinimumMapping() {
         HwCPU cpu;
-        //   HwMemory mem;
+        HwMemory mem;
         HwBus bus;
         HwLink link0;//, link1;
         TMLTask t;
@@ -188,7 +192,7 @@ public class TMLMapping<E> {
 
             // tasks
             iterator = tmlm.getTasks().listIterator();
-            while(iterator.hasNext()) {
+            while (iterator.hasNext()) {
                 t = iterator.next();
                 addTaskToHwExecutionNode(t, cpu);
             }
@@ -196,12 +200,13 @@ public class TMLMapping<E> {
 
         if (!tmla.hasBus()) {
             bus = new HwBus("defaultBus");
+            mem = new HwMemory("defaultMemory");
             tmla.addHwNode(bus);
             // Connect all possible nodes to that bus
             cpt = 0;
-            for(HwNode node: tmla.getHwNodes()) {
+            for (HwNode node : tmla.getHwNodes()) {
                 link0 = new HwLink("to_bus_" + cpt);
-                cpt ++;
+                cpt++;
                 link0.bus = bus;
                 link0.hwnode = node;
                 tmla.addHwLink(link0);
@@ -210,31 +215,42 @@ public class TMLMapping<E> {
             // Add all channels on that bus
             Iterator<TMLChannel> channelIt = tmlm.getChannels().iterator();
 
-            while( channelIt.hasNext() ) {
+            while (channelIt.hasNext()) {
                 ch = channelIt.next();
                 addCommToHwCommNode(ch, bus);
+                addCommToHwCommNode(ch, mem);
             }
-        } else {
-            mapAllChannelsOnBus();
+
+
+        }
+
+        // Verify that all channels are mapped at least on one bus
+        // and on one memory. Create the necessary hardware elements
+        // if they do not exist
+        Iterator<TMLChannel> channelIt = tmlm.getChannels().iterator();
+        while (channelIt.hasNext()) {
+            ch = channelIt.next();
+            mem = getMemoryOfChannel(ch);
+            TraceManager.addDev("Memory of channel " + ch + " is " + mem);
         }
 
         // Is there a memory?
         /*if (!tmla.hasMemory()) {
-          mem = new HwMemory("defaultMemory");
-          tmla.addHwNode(mem);
+            mem = new HwMemory("defaultMemory");
+            tmla.addHwNode(mem);
 
-          // Connect this memory to al buses
+            // Connect this memory to al buses
 
 
-          iterator = tmlm.getChannels().listIterator();
+            iterator = tmlm.getChannels().listIterator();
 
-          while(iterator.hasNext()) {
-          ch = (TMLChannel)(iterator.next());
-          addCommToHwCommNode(ch, mem);
-          }
-          } else {
-          mapAllChannelsOnMemory();
-          }*/
+            while (iterator.hasNext()) {
+                ch = (TMLChannel) (iterator.next());
+                addCommToHwCommNode(ch, mem);
+            }
+        } else {
+            mapAllChannelsOnMemory();
+        }*/
     }
 
     // If only one bus -> map all channels on it;
@@ -248,17 +264,17 @@ public class TMLMapping<E> {
 
         int index;
         boolean mapped;
-        for(TMLChannel cha: tmlm.getChannels()) {
+        for (TMLChannel cha : tmlm.getChannels()) {
             index = 0;
             mapped = false;
-            for(TMLElement el: mappedcommelts) {
+            for (TMLElement el : mappedcommelts) {
                 if (el == cha) {
                     if (oncommnodes.get(index) instanceof HwBus) {
                         mapped = true;
                         break;
                     }
                 }
-                index ++;
+                index++;
             }
             if (!mapped) {
                 addCommToHwCommNode(cha, bus);
@@ -352,11 +368,11 @@ public class TMLMapping<E> {
         return tmla.getCPUIDs();
     }
 
-    public void addPragma(String[] s){
+    public void addPragma(String[] s) {
         pragmas.add(s);
     }
 
-    public List<String[]> getPragmas(){
+    public List<String[]> getPragmas() {
         return pragmas;
     }
 
@@ -406,7 +422,7 @@ public class TMLMapping<E> {
         mappedCPLibs.add(_tmlcplib);
     }
 
-    public List<TMLCPLib> getMappedTMLCPLibs()     {
+    public List<TMLCPLib> getMappedTMLCPLibs() {
         return mappedCPLibs;
     }
 
@@ -422,7 +438,7 @@ public class TMLMapping<E> {
 
     public void removeCommMapping(TMLElement _elt) {
         int index;
-        while((index = mappedcommelts.indexOf(_elt)) > -1) {
+        while ((index = mappedcommelts.indexOf(_elt)) > -1) {
             oncommnodes.remove(index);
             mappedcommelts.remove(index);
         }
@@ -431,9 +447,11 @@ public class TMLMapping<E> {
     public TMLModeling<E> getTMLModeling() {
         return tmlm;
     }
-    public void setTMLModeling(TMLModeling<E> _tmlm){
-        tmlm=_tmlm;
+
+    public void setTMLModeling(TMLModeling<E> _tmlm) {
+        tmlm = _tmlm;
     }
+
     public TMLArchitecture getTMLArchitecture() {
         return tmla;
     }
@@ -452,19 +470,19 @@ public class TMLMapping<E> {
         return hashCode;
     }
 
-    public List<HwExecutionNode> getNodes(){
+    public List<HwExecutionNode> getNodes() {
         return onnodes;
     }
 
-    public List<TMLTask> getMappedTasks(){
+    public List<TMLTask> getMappedTasks() {
         return mappedtasks;
     }
 
-    public List<HwCommunicationNode> getCommunicationNodes(){
+    public List<HwCommunicationNode> getCommunicationNodes() {
         return oncommnodes;
     }
 
-    public List<TMLElement> getMappedCommunicationElement(){
+    public List<TMLElement> getMappedCommunicationElement() {
         return mappedcommelts;
     }
 
@@ -476,7 +494,7 @@ public class TMLMapping<E> {
     public TMLChannel getChannelByName(String _name) {
         TMLElement tmle = tmlm.getCommunicationElementByName(_name);
         if (tmle instanceof TMLChannel) {
-            return (TMLChannel)tmle;
+            return (TMLChannel) tmle;
         }
         return null;
     }
@@ -484,7 +502,7 @@ public class TMLMapping<E> {
     public HwExecutionNode getHwExecutionNodeByName(String _name) {
         HwNode node = tmla.getHwNodeByName(_name);
         if (node instanceof HwExecutionNode) {
-            return (HwExecutionNode)(node);
+            return (HwExecutionNode) (node);
         }
         return null;
     }
@@ -492,7 +510,21 @@ public class TMLMapping<E> {
     public HwCommunicationNode getHwCommunicationNodeByName(String _name) {
         HwNode node = tmla.getHwNodeByName(_name);
         if (node instanceof HwCommunicationNode) {
-            return (HwCommunicationNode)(node);
+            return (HwCommunicationNode) (node);
+        }
+        return null;
+    }
+
+    public HwMemory getMemoryOfChannel(TMLChannel _ch) {
+        int cpt = 0;
+        for(TMLElement elt: mappedcommelts) {
+            if (elt == _ch) {
+                HwCommunicationNode node = oncommnodes.get(cpt);
+                if (node instanceof HwMemory) {
+                    return (HwMemory)(node);
+                }
+            }
+            cpt ++;
         }
         return null;
     }
@@ -514,19 +546,20 @@ public class TMLMapping<E> {
         return onnodes.get(index);
     }
 
-    public void removeTask(TMLTask _task){
+    public void removeTask(TMLTask _task) {
         int index = mappedtasks.indexOf(_task);
-        if (index >-1){
+        if (index > -1) {
             onnodes.remove(index);
             mappedtasks.remove(index);
         }
     }
+
     public boolean isAUsedHwNode(HwNode _node) {
         return (onnodes.contains(_node));
     }
 
     public boolean isTaskMappedOn(TMLTask _task, HwNode _node) {
-        for(int i=0; i<onnodes.size(); i++) {
+        for (int i = 0; i < onnodes.size(); i++) {
             if (onnodes.get(i) == _node) {
                 if (mappedtasks.get(i) == _task) {
                     return true;
@@ -537,8 +570,8 @@ public class TMLMapping<E> {
     }
 
     public boolean isCommNodeMappedOn(TMLElement _channel, HwCommunicationNode _node) {
-        for(int i=0; i<oncommnodes.size(); i++) {
-            if ((_node==null || oncommnodes.get(i) == _node) && mappedcommelts.get(i) == _channel) return true;
+        for (int i = 0; i < oncommnodes.size(); i++) {
+            if ((_node == null || oncommnodes.get(i) == _node) && mappedcommelts.get(i) == _channel) return true;
         }
         return false;
     }
@@ -565,13 +598,13 @@ public class TMLMapping<E> {
         }
 
         index = 0;
-        for(HwCommunicationNode node: oncommnodes) {
+        for (HwCommunicationNode node : oncommnodes) {
             if (node instanceof HwBus) {
                 if (mappedcommelts.get(index) == _tmle) {
-                    return (HwBus)node;
+                    return (HwBus) node;
                 }
             }
-            index ++;
+            index++;
         }
 
         return null;
@@ -580,11 +613,11 @@ public class TMLMapping<E> {
 
     public int getMaxClockRatio() {
         int ret = 1;
-        for(HwCommunicationNode node: oncommnodes) {
+        for (HwCommunicationNode node : oncommnodes) {
             ret = Math.max(node.clockRatio, ret);
         }
 
-        for(HwExecutionNode node1: onnodes) {
+        for (HwExecutionNode node1 : onnodes) {
             ret = Math.max(node1.clockRatio, ret);
         }
 
@@ -600,20 +633,21 @@ public class TMLMapping<E> {
         return list;
     }
 
-    public LinkedList<HwCommunicationNode> findNodesForElement(TMLElement _elementToFind){
+    public LinkedList<HwCommunicationNode> findNodesForElement(TMLElement _elementToFind) {
         LinkedList<HwCommunicationNode> list = new LinkedList<HwCommunicationNode>();
-        int index=0;
-        for(TMLElement tmlelem: mappedcommelts) {
+        int index = 0;
+        for (TMLElement tmlelem : mappedcommelts) {
             if (tmlelem == _elementToFind) list.add(oncommnodes.get(index));
             index++;
         }
         return list;
     }
 
-    public HwNode getHwNodeByTask(TMLTask cmpTask){
-        int i=0;
-        for(TMLTask task: mappedtasks) {
-            if (task==cmpTask) break; else i++;
+    public HwNode getHwNodeByTask(TMLTask cmpTask) {
+        int i = 0;
+        for (TMLTask task : mappedtasks) {
+            if (task == cmpTask) break;
+            else i++;
         }
         return onnodes.get(i);
     }
@@ -624,12 +658,12 @@ public class TMLMapping<E> {
         }
     }
 
-    public HashSet<String> getMappedTasks(HwNode node){
+    public HashSet<String> getMappedTasks(HwNode node) {
         HashSet<String> tasks = new HashSet<String>();
-        int i=0;
-        for(HwExecutionNode ex: onnodes) {
+        int i = 0;
+        for (HwExecutionNode ex : onnodes) {
             if (ex == node) {
-                tasks.add(mappedtasks.get(i).getName().split("__")[mappedtasks.get(i).getName().split("__").length-1]);
+                tasks.add(mappedtasks.get(i).getName().split("__")[mappedtasks.get(i).getName().split("__").length - 1]);
             }
             i++;
         }
@@ -642,12 +676,12 @@ public class TMLMapping<E> {
         int cpt = 0;
         int found = 0;
 
-        for (HwNode node: tmla.getHwNodes()) {
+        for (HwNode node : tmla.getHwNodes()) {
             if (node instanceof HwCPU) {
                 sb.append(node.getName() + "(");
                 found = 0;
                 cpt = 0;
-                for(HwExecutionNode ex: onnodes) {
+                for (HwExecutionNode ex : onnodes) {
                     if (ex == node) {
                         if (found > 0) {
                             sb.append(", ");
@@ -655,10 +689,10 @@ public class TMLMapping<E> {
                         found = 1;
                         sb.append(mappedtasks.get(cpt).getName());
                     }
-                    cpt ++;
+                    cpt++;
                 }
                 sb.append(") ");
-                list.add( sb.toString() );
+                list.add(sb.toString());
                 sb = new StringBuffer("");
             }
         }
@@ -678,12 +712,12 @@ public class TMLMapping<E> {
         int cpt = 0;
         int found = 0;
 
-        for (HwNode node: tmla.getHwNodes()) {
+        for (HwNode node : tmla.getHwNodes()) {
             if (node instanceof HwCommunicationNode) {
                 sb.append(node.getName() + "(");
                 found = 0;
                 cpt = 0;
-                for(HwCommunicationNode ex: oncommnodes) {
+                for (HwCommunicationNode ex : oncommnodes) {
                     if (ex == node) {
                         if (found > 0) {
                             sb.append(", ");
@@ -691,10 +725,10 @@ public class TMLMapping<E> {
                         found = 1;
                         sb.append(mappedcommelts.get(cpt).getName());
                     }
-                    cpt ++;
+                    cpt++;
                 }
                 sb.append(") ");
-                list.add( sb.toString() );
+                list.add(sb.toString());
                 sb = new StringBuffer("");
             }
         }
@@ -715,7 +749,6 @@ public class TMLMapping<E> {
     }
 
 
-
     public void removeForksAndJoins() {
         TraceManager.addDev("\n\nRemove fork and join in MAPPING. Current nb of tasks:" + tmlm.getTasks().size());
         if (tmlm != null) {
@@ -724,11 +757,11 @@ public class TMLMapping<E> {
 
         TMLChannel chan;
 
-        TraceManager.addDev("Number of tasks after remove fork/join: " + tmlm.getTasks().size());
+        //TraceManager.addDev("Number of tasks after remove fork/join: " + tmlm.getTasks().size());
 
 
         // We map the forked tasks to their origin node, and the join ones to their destination node
-        for(TMLTask task: tmlm.getTasks()) {
+        for (TMLTask task : tmlm.getTasks()) {
             if (task.getName().startsWith("FORKTASK_")) {
                 if (!isTaskMapped(task)) {
                     TraceManager.addDev("\n\nFORKTASK is NOT mapped: " + task.getName());
@@ -737,18 +770,18 @@ public class TMLMapping<E> {
                     if (chan != null) {
                         TMLTask origin = chan.getOriginTask();
                         if ((origin != null) && (isTaskMapped(origin))) {
-                            HwExecutionNode node = (HwExecutionNode)(getHwNodeOf(origin));
+                            HwExecutionNode node = (HwExecutionNode) (getHwNodeOf(origin));
                             if (node != null) {
-                                TraceManager.addDev("\n\nMapping fork task " + task.getName() + " to " + node.getName());
+                                //TraceManager.addDev("\n\nMapping fork task " + task.getName() + " to " + node.getName());
                                 addTaskToHwExecutionNode(task, node);
                             }
                         }
                     }
                 } else {
-                    TraceManager.addDev("\n\nFORKTASK is  mapped: " + task.getName());
+                    //TraceManager.addDev("\n\nFORKTASK is  mapped: " + task.getName());
                 }
             } else {
-                TraceManager.addDev("Non fork task found: " + task.getName());
+                //TraceManager.addDev("Non fork task found: " + task.getName());
             }
             if (task.getName().startsWith("JOINTASK_")) {
                 if (!isTaskMapped(task)) {
@@ -757,7 +790,7 @@ public class TMLMapping<E> {
                     if (chan != null) {
                         TMLTask destination = chan.getDestinationTask();
                         if ((destination != null) && (isTaskMapped(destination))) {
-                            HwExecutionNode node = (HwExecutionNode)(getHwNodeOf(destination));
+                            HwExecutionNode node = (HwExecutionNode) (getHwNodeOf(destination));
                             if (node != null) {
                                 TraceManager.addDev("\n\nMapping join task " + task.getName() + " to " + node.getName());
                                 addTaskToHwExecutionNode(task, node);
@@ -775,7 +808,7 @@ public class TMLMapping<E> {
         // Remove the CPLib with new tasks, channels, HW components
         TraceManager.addDev("\n\n**** HANDLING CPs:");
 
-        for(TMLCPLib cp: mappedCPLibs) {
+        for (TMLCPLib cp : mappedCPLibs) {
             //TraceManager.addDev(" Found cp:" + cp.getName() + " ref=" + cp.getTypeName());
             if (cp.isDMATransfer()) {
                 TraceManager.addDev(" Found cp DMA:" + cp.getName() + "::" + cp.getTypeName());
@@ -799,20 +832,20 @@ public class TMLMapping<E> {
 
 
     private void handleCPDMA(TMLCPLib _cp) {
-        for(TMLCPLibArtifact arti: _cp.getArtifacts()) {
+        for (TMLCPLibArtifact arti : _cp.getArtifacts()) {
             handleCPDMAArtifact(_cp, arti);
         }
     }
 
     private void handleCPDoubleDMA(TMLCPLib _cp) {
         TraceManager.addDev(" Found double DMA cp:" + _cp.getName() + " ref=" + _cp.getTypeName());
-        for(TMLCPLibArtifact arti: _cp.getArtifacts()) {
+        for (TMLCPLibArtifact arti : _cp.getArtifacts()) {
             handleCPDoubleDMAArtifact(_cp, arti);
         }
     }
 
     private void handleCPMemoryCopy(TMLCPLib _cp) {
-        for(TMLCPLibArtifact arti: _cp.getArtifacts()) {
+        for (TMLCPLibArtifact arti : _cp.getArtifacts()) {
             handleCPMemoryCopyArtifact(_cp, arti);
         }
     }
@@ -876,8 +909,6 @@ public class TMLMapping<E> {
         }
 
 
-
-
         // At each origin: We write in a new local channel in a NBRNBW fashion
         // This new channel is mapped on Src_Storage_Instance_1
         // Then, we send an event to a new DMA task mapped
@@ -910,8 +941,8 @@ public class TMLMapping<E> {
 
         // In the origin task, we change all writing to "chan" to "fromOriginToDMA"
         origin.replaceWriteChannelWith(chan, fromOriginToDMA);
-        TMLEvent toDMA = new TMLEvent("toDMA" +  chan.getName(), chan, 1, false);
-        TMLEvent fromDMA = new TMLEvent("fromDMA" +  chan.getName(), chan, 1, false);
+        TMLEvent toDMA = new TMLEvent("toDMA" + chan.getName(), chan, 1, false);
+        TMLEvent fromDMA = new TMLEvent("fromDMA" + chan.getName(), chan, 1, false);
         tmlm.addEvent(toDMA);
         tmlm.addEvent(fromDMA);
         toDMA.addParam(new TMLType(TMLType.NATURAL));
@@ -981,12 +1012,11 @@ public class TMLMapping<E> {
         addTaskToHwExecutionNode(dmaTask, node);
 
 
-
     }
 
     public String getMappedTasksString() {
         String tasks = "";
-        for(TMLTask task: mappedtasks) {
+        for (TMLTask task : mappedtasks) {
             tasks += task.getName() + " ";
         }
         return tasks;
@@ -1122,17 +1152,17 @@ public class TMLMapping<E> {
 
         // In the origin task, we change all writing to "chan" to "fromOriginToDMA"
         origin1.replaceWriteChannelWith(chan, fromOriginToDMA1);
-        TMLEvent toDMA1 = new TMLEvent("toDMA1" +  chan.getName(), chan, 1, false);
+        TMLEvent toDMA1 = new TMLEvent("toDMA1" + chan.getName(), chan, 1, false);
         tmlm.addEvent(toDMA1);
         toDMA1.addParam(new TMLType(TMLType.NATURAL));
         toDMA1.setTasks(origin1, dmaTask1);
         origin1.addSendEventAfterWriteIn(fromOriginToDMA1, toDMA1, "size");
 
         // We need two events between DMATasks
-        TMLEvent interdma1 = new TMLEvent("fromDMA1ToDMA2" +  chan.getName(), chan, 1, false);
+        TMLEvent interdma1 = new TMLEvent("fromDMA1ToDMA2" + chan.getName(), chan, 1, false);
         tmlm.addEvent(interdma1);
         interdma1.setTasks(dmaTask1, dmaTask2);
-        TMLEvent interdma2 = new TMLEvent("fromDMA2ToDMA1" +  chan.getName(), chan, 1, false);
+        TMLEvent interdma2 = new TMLEvent("fromDMA2ToDMA1" + chan.getName(), chan, 1, false);
         tmlm.addEvent(interdma2);
         interdma2.setTasks(dmaTask1, dmaTask2);
 
@@ -1223,7 +1253,7 @@ public class TMLMapping<E> {
 
         // In the origin task, we change all writing to "chan" to "fromOriginToDMA"
         origin2.replaceWriteChannelWith(chan, fromOriginToDMA2);
-        TMLEvent toDMA2 = new TMLEvent("toDMA2" +  chan.getName(), chan, 1, false);
+        TMLEvent toDMA2 = new TMLEvent("toDMA2" + chan.getName(), chan, 1, false);
         tmlm.addEvent(toDMA2);
         toDMA2.addParam(new TMLType(TMLType.NATURAL));
         toDMA2.setTasks(origin2, dmaTask2);
@@ -1378,7 +1408,7 @@ public class TMLMapping<E> {
 
         // Reworking origin task
         origin.replaceWriteChannelWith(chan, fromOriginToCTRL);
-        TMLEvent toCTRL = new TMLEvent("toCTRL__" +  chan.getName(), chan, 1, false);
+        TMLEvent toCTRL = new TMLEvent("toCTRL__" + chan.getName(), chan, 1, false);
         tmlm.addEvent(toCTRL);
         toCTRL.addParam(new TMLType(TMLType.NATURAL));
         toCTRL.setTasks(origin, ctrl);
@@ -1435,35 +1465,31 @@ public class TMLMapping<E> {
         write.addNext(stopWrite);
 
 
-
-
-
-
     }
 
     public void linkTasks2TMLChannels() {
-        if( tmlm != null ) {
+        if (tmlm != null) {
             Iterator<TMLTask> iterator = tmlm.getTasks().listIterator();
 
-            while( iterator.hasNext() ) {
+            while (iterator.hasNext()) {
                 TMLTask task = iterator.next();
 
-                for( TMLReadChannel readCh: task.getReadChannels() )    {
+                for (TMLReadChannel readCh : task.getReadChannels()) {
                     String readChName = readCh.toString().split(": ")[1];
-                    for( TMLChannel ch: tmlm.getChannels() )    {
-                        if( ch.getName().equals( readChName ) ) {
-                            task.addTMLChannel( ch );
-                            task.addReadTMLChannel( ch );
+                    for (TMLChannel ch : tmlm.getChannels()) {
+                        if (ch.getName().equals(readChName)) {
+                            task.addTMLChannel(ch);
+                            task.addReadTMLChannel(ch);
                         }
                     }
                 }
 
-                for( TMLWriteChannel writeCh: task.getWriteChannels() ) {
+                for (TMLWriteChannel writeCh : task.getWriteChannels()) {
                     String writeChName = writeCh.toString().split(": ")[1];
-                    for( TMLChannel ch: tmlm.getChannels() )    {
-                        if( ch.getName().equals( writeChName ) )        {
-                            task.addTMLChannel( ch );
-                            task.addWriteTMLChannel( ch );
+                    for (TMLChannel ch : tmlm.getChannels()) {
+                        if (ch.getName().equals(writeChName)) {
+                            task.addTMLChannel(ch);
+                            task.addWriteTMLChannel(ch);
                         }
                     }
                 }
@@ -1471,29 +1497,29 @@ public class TMLMapping<E> {
         }
     }
 
-    public void linkTasks2TMLEvents()   {
+    public void linkTasks2TMLEvents() {
 
         //ListIterator iterator;
-        if( tmlm != null )      {
+        if (tmlm != null) {
             final Iterator<TMLTask> iterator = tmlm.getTasks().listIterator();
 
-            while( iterator.hasNext() ) {
+            while (iterator.hasNext()) {
                 TMLTask task = iterator.next();
 
-                for( TMLSendEvent sendEvt: task.getSendEvents() )       {
+                for (TMLSendEvent sendEvt : task.getSendEvents()) {
                     String sendEvtName = sendEvt.toString().split(":")[1].split("\\(")[0];
-                    for( TMLEvent evt: tmlm.getEvents() )       {
-                        if( evt.getName().equals( sendEvtName ) )       {
-                            task.addTMLEvent( evt );
+                    for (TMLEvent evt : tmlm.getEvents()) {
+                        if (evt.getName().equals(sendEvtName)) {
+                            task.addTMLEvent(evt);
                         }
                     }
                 }
 
-                for( TMLWaitEvent waitEvt: task.getWaitEvents() )       {
+                for (TMLWaitEvent waitEvt : task.getWaitEvents()) {
                     String waitEvtName = waitEvt.toString().split(":")[1].split("\\(")[0];
-                    for( TMLEvent evt: tmlm.getEvents() )       {
-                        if( evt.getName().equals( waitEvtName ) )       {
-                            task.addTMLEvent( evt );
+                    for (TMLEvent evt : tmlm.getEvents()) {
+                        if (evt.getName().equals(waitEvtName)) {
+                            task.addTMLEvent(evt);
                         }
                     }
                 }
@@ -1501,17 +1527,17 @@ public class TMLMapping<E> {
         }
     }
 
-    public boolean channelAllowed(TMLChannel chan){
+    public boolean channelAllowed(TMLChannel chan) {
         TMLTask orig = chan.getOriginTask();
         TMLTask dest = chan.getDestinationTask();
         List<HwNode> path = getPath(orig, dest);
-        for (HwNode node:path){
-            if (node instanceof HwBridge){
-                for (String rule:((HwBridge) node).firewallRules){
+        for (HwNode node : path) {
+            if (node instanceof HwBridge) {
+                for (String rule : ((HwBridge) node).firewallRules) {
                     String t1 = rule.split("->")[0];
                     String t2 = rule.split("->")[1];
-                    if (t1.equals(orig.getName().replaceAll("__","::")) || t1.equals("*")){
-                        if (t2.equals(dest.getName().replaceAll("__","::")) || t2.equals("*")){
+                    if (t1.equals(orig.getName().replaceAll("__", "::")) || t1.equals("*")) {
+                        if (t2.equals(dest.getName().replaceAll("__", "::")) || t2.equals("*")) {
                             return false;
                         }
                     }
@@ -1522,22 +1548,22 @@ public class TMLMapping<E> {
     }
 
 
-    public List<HwNode> getPath(TMLTask t1, TMLTask t2){
+    public List<HwNode> getPath(TMLTask t1, TMLTask t2) {
         HwNode node1 = getHwNodeOf(t1);
         HwNode node2 = getHwNodeOf(t2);
         List<HwNode> path = new ArrayList<HwNode>();
-        if (node1==node2){
+        if (node1 == node2) {
             return path;
         }
-        if (node1!=node2){
+        if (node1 != node2) {
             //Navigate architecture for node
             List<HwLink> links = getTMLArchitecture().getHwLinks();
             //  HwNode last = node1;
             List<HwNode> found = new ArrayList<HwNode>();
             List<HwNode> done = new ArrayList<HwNode>();
             Map<HwNode, List<HwNode>> pathMap = new HashMap<HwNode, List<HwNode>>();
-            for (HwLink link: links){
-                if (link.hwnode == node1){
+            for (HwLink link : links) {
+                if (link.hwnode == node1) {
                     found.add(link.bus);
                     List<HwNode> tmp = new ArrayList<HwNode>();
                     tmp.add(link.bus);
@@ -1545,23 +1571,22 @@ public class TMLMapping<E> {
                 }
             }
             outerloop:
-            while (found.size()>0){
+            while (found.size() > 0) {
                 HwNode curr = found.remove(0);
-                for (HwLink link: links){
-                    if (curr == link.bus){
-                        if (link.hwnode == node2){
+                for (HwLink link : links) {
+                    if (curr == link.bus) {
+                        if (link.hwnode == node2) {
                             path = pathMap.get(curr);
                             break outerloop;
                         }
-                        if (!done.contains(link.hwnode) && !found.contains(link.hwnode) && link.hwnode instanceof HwBridge){
+                        if (!done.contains(link.hwnode) && !found.contains(link.hwnode) && link.hwnode instanceof HwBridge) {
                             found.add(link.hwnode);
                             List<HwNode> tmp = new ArrayList<HwNode>(pathMap.get(curr));
                             tmp.add(link.hwnode);
                             pathMap.put(link.hwnode, tmp);
                         }
-                    }
-                    else if (curr == link.hwnode){
-                        if (!done.contains(link.bus) && !found.contains(link.bus)){
+                    } else if (curr == link.hwnode) {
+                        if (!done.contains(link.bus) && !found.contains(link.bus)) {
                             found.add(link.bus);
                             List<HwNode> tmp = new ArrayList<HwNode>(pathMap.get(curr));
                             tmp.add(link.bus);
@@ -1576,14 +1601,14 @@ public class TMLMapping<E> {
     }
 
 
-    public boolean isAttackerAccessible(TMLChannel chan){
+    public boolean isAttackerAccessible(TMLChannel chan) {
         TMLTask orig = chan.getSystemOriginTask();
         TMLTask dest = chan.getSystemDestinationTask();
         List<HwNode> path = getPath(orig, dest);
-        for (HwNode node:path){
-            if (node instanceof HwBus){
+        for (HwNode node : path) {
+            if (node instanceof HwBus) {
                 HwBus bus = (HwBus) node;
-                if (bus.privacy==HwCommunicationNode.BUS_PUBLIC){
+                if (bus.privacy == HwCommunicationNode.BUS_PUBLIC) {
                     return true;
                 }
             }
@@ -1595,24 +1620,51 @@ public class TMLMapping<E> {
         String s = "<TMLMAPPING>\n";
         s += tmlm.toXML();
         s += tmla.toXML();
-        for(int i=0; i<onnodes.size(); i++) {
+        for (int i = 0; i < onnodes.size(); i++) {
             HwExecutionNode node = onnodes.get(i);
             TMLTask task = mappedtasks.get(i);
             s += "<TASKMAP node=\"" + node.getName() + "\" task=\"" + task.getName() + "\" />\n";
         }
-        for(int i=0; i<oncommnodes.size(); i++) {
+        for (int i = 0; i < oncommnodes.size(); i++) {
             HwCommunicationNode node = oncommnodes.get(i);
             TMLElement elt = mappedcommelts.get(i);
             s += "<COMMMAP node=\"" + node.getName() + "\" elt=\"" + elt.getName() + "\" />\n";
         }
-        for(TMLCPLib cplib: mappedCPLibs) {
+        for (TMLCPLib cplib : mappedCPLibs) {
             s += cplib.toXML();
         }
-        for(String val: customValues) {
+        for (String val : customValues) {
             s += "<CUSTOMVALUE value=\"" + val + "\" />\n";
         }
         s += "</TMLMAPPING>\n";
         //s = myutil.Conversion.transformToXMLString(s);
         return s;
     }
+
+
+    public void makeAutomata() {
+        aut = new Automata();
+        nodesToStates = new HashMap<HwNode, State>();
+
+        // Make a state for each hardware node
+        for(HwNode node: tmla.getHwNodes()) {
+            State st = new State(node.getName());
+            st.referenceObject = node;
+            nodesToStates.put(node, st);
+        }
+
+        // Making links
+        for(HwLink link: tmla.getHwLinks()) {
+            HwNode node1 = link.bus;
+            HwNode node2 = link.hwnode;
+
+            State st1 = nodesToStates.get(node1);
+            State st2 = nodesToStates.get(node2);
+
+            if ((st1 != null) && (st2 != null)) {
+                Transition t = new Transition(link.getName(), st2);
+                st1.addTransition(t);
+            }
+        }
+    }
 }
diff --git a/src/main/java/tmltranslator/TMLMappingTextSpecification.java b/src/main/java/tmltranslator/TMLMappingTextSpecification.java
index 8a3db1c5b61ed256fb7a931cb5e53ac59eab7739..b8e04fbfe4520f6929e380184557dbc14251b4ed 100755
--- a/src/main/java/tmltranslator/TMLMappingTextSpecification.java
+++ b/src/main/java/tmltranslator/TMLMappingTextSpecification.java
@@ -37,9 +37,6 @@
  */
 
 
-
-
-
 package tmltranslator;
 
 import myutil.Conversion;
@@ -57,8 +54,9 @@ import java.util.List;
  * Class TMLArchiTextSpecification
  * Import and export of TML architecture textual specifications
  * Creation: 21/09/2007
- * @version 1.0 21/09/2007
+ *
  * @author Ludovic APVRILLE
+ * @version 1.0 21/09/2007
  */
 public class TMLMappingTextSpecification<E> {
     public final static String CR = "\n";
@@ -88,10 +86,10 @@ public class TMLMappingTextSpecification<E> {
 
     public void saveFile(String path, String filename) throws FileException {
 
-    	File dir = new File(path);
-    	if (!dir.exists())
-    		dir.mkdir();
-    	
+        File dir = new File(path);
+        if (!dir.exists())
+            dir.mkdir();
+
         if (tmlmtxt != null) {
             tmlmtxt.saveFile(path, filename + ".tml");
         }
@@ -99,7 +97,7 @@ public class TMLMappingTextSpecification<E> {
             tmlatxt.saveFile(path, filename + ".tarchi");
         }
 
-        System.out.println("Saving architecture spec file in " + path + filename + ".tmap");
+        //System.out.println("Saving mapping files in " + path + filename + ".tmap");
         String header = makeHeader(filename);
         FileUtils.saveFile(path + filename + ".tmap", indent(header + spec));
     }
@@ -124,10 +122,10 @@ public class TMLMappingTextSpecification<E> {
         int nbOpen = 0;
         int nbClose = 0;
 
-        while ( (indexEnd = _toIndent.indexOf('\n')) > -1) {
-            tmp = _toIndent.substring(0, indexEnd+1);
+        while ((indexEnd = _toIndent.indexOf('\n')) > -1) {
+            tmp = _toIndent.substring(0, indexEnd + 1);
             try {
-                _toIndent = _toIndent.substring(indexEnd+1, _toIndent.length());
+                _toIndent = _toIndent.substring(indexEnd + 1, _toIndent.length());
             } catch (Exception e) {
                 _toIndent = "";
             }
@@ -155,7 +153,7 @@ public class TMLMappingTextSpecification<E> {
         String tmp;
         //int size;
 
-        for(int i=0; i<array.length; i++) {
+        for (int i = 0; i < array.length; i++) {
             if (_tmp.startsWith(array[i])) {
                 tmp = _tmp.substring(array[i].length(), _tmp.length());
                 //System.out.println("tmp=" + tmp + " _tmp" + _tmp + " array=" + array[i]);
@@ -174,7 +172,7 @@ public class TMLMappingTextSpecification<E> {
 
     public String toTextFormat(TMLMapping<E> _tmlmap) {
         tmlmap = _tmlmap;
-	tmlmap.handleCPs();
+        tmlmap.handleCPs();
         makeTML(tmlmap);
         makeArchi(tmlmap);
         makeMapping(tmlmap);
@@ -194,7 +192,7 @@ public class TMLMappingTextSpecification<E> {
 
     public void makeMapping(TMLMapping<E> tmlmap) {
         spec = CR;
-        spec +="TMLMAPPING" + CR;
+        spec += "TMLMAPPING" + CR;
         spec += makeMappingNodes(tmlmap);
         spec += makeMappingCommunicationNodes(tmlmap);
         spec += "ENDTMLMAPPING" + CR;
@@ -207,13 +205,13 @@ public class TMLMappingTextSpecification<E> {
         HwNode node;
         TMLTask task;
 
-        for(int i=0; i<nodes.size(); i++) {
+        for (int i = 0; i < nodes.size(); i++) {
             node = nodes.get(i);
             task = tasks.get(i);
 
             if ((node != null) && (task != null)) {
                 tmp += "MAP " + prepareString(node.getName()) + " " + prepareString(task.getName()) + CR;
-                tmp += "SET " + prepareString(task.getName()) +  " priority " + task.getPriority() + CR;
+                tmp += "SET " + prepareString(task.getName()) + " priority " + task.getPriority() + CR;
             }
         }
 
@@ -227,14 +225,14 @@ public class TMLMappingTextSpecification<E> {
         HwNode node;
         TMLElement elt;
 
-        for(int i=0; i<nodes.size(); i++) {
+        for (int i = 0; i < nodes.size(); i++) {
             node = nodes.get(i);
             elt = elts.get(i);
 
             if ((node != null) && (elt != null)) {
                 tmp += "MAP " + prepareString(node.getName()) + " " + prepareString(elt.getName()) + CR;
                 if (elt instanceof TMLChannel) {
-                    tmp += "SET " + prepareString(elt.getName()) +  " priority " + ((TMLChannel)(elt)).getPriority() + CR;
+                    tmp += "SET " + prepareString(elt.getName()) + " priority " + ((TMLChannel) (elt)).getPriority() + CR;
                 }
                 //tmp += "SET " + prepareString(task.getName()) +  " priority " + task.getPriority() + CR;
             }
@@ -477,7 +475,7 @@ public class TMLMappingTextSpecification<E> {
 
     public String printErrors() {
         String ret = "";
-        for(TMLTXTError error: errors) {
+        for (TMLTXTError error : errors) {
             ret += "ERROR at line " + error.lineNb + ": " + error.message + CR;
             try {
                 if (error.lineString == null) {
@@ -494,7 +492,7 @@ public class TMLMappingTextSpecification<E> {
 
     public String printWarnings() {
         String ret = "";
-        for(TMLTXTError error: warnings) {
+        for (TMLTXTError error : warnings) {
             ret += "WARNING at line " + error.lineNb + CR;
             ret += error.message + CR;
         }
@@ -510,7 +508,7 @@ public class TMLMappingTextSpecification<E> {
         } else {
             ret += printErrors() + CR + printWarnings() + CR;
             ret += "Compilation failed" + CR;
-            ret += errors.size() + " error(s), "+ warnings.size() + " warning(s)" + CR;
+            ret += errors.size() + " error(s), " + warnings.size() + " warning(s)" + CR;
         }
 
         return ret;
@@ -524,10 +522,10 @@ public class TMLMappingTextSpecification<E> {
 
         String s;
         String s1;
-        String [] split;
+        String[] split;
         int lineNb = 0;
 
-    //    String instruction;
+        //    String instruction;
 
         String specarchi;
         int index0 = spec.indexOf("TMLMAPPING");
@@ -544,7 +542,7 @@ public class TMLMappingTextSpecification<E> {
         BufferedReader br = new BufferedReader(sr);
 
         try {
-            while((s = br.readLine()) != null) {
+            while ((s = br.readLine()) != null) {
                 if (s != null) {
                     s = s.trim();
                     //System.out.println("s=" + s);
@@ -581,21 +579,21 @@ public class TMLMappingTextSpecification<E> {
 
     public int analyseInstruction(String _line, int _lineNb, String[] _split) {
         String error;
-      //  String params;
-       // String id;
+        //  String params;
+        // String id;
         //int tmp, tmp0, tmp1, i;
 
         HwExecutionNode hwnode;
         TMLTask task;
-        TMLChannel  channel;
+        TMLChannel channel;
         HwCommunicationNode hwcommnode;
         TMLElement elt;
 
         // MAP
-        if(isInstruction("MAP", _split[0])) {
+        if (isInstruction("MAP", _split[0])) {
 
             if (_split.length != 3) {
-                error = "A MAP instruction must be used with 2 parameters, and not " + (_split.length - 1) ;
+                error = "A MAP instruction must be used with 2 parameters, and not " + (_split.length - 1);
                 addError(0, _lineNb, 0, error, _line);
                 return -1;
             }
@@ -639,10 +637,10 @@ public class TMLMappingTextSpecification<E> {
 
 
         // SET
-        if(isInstruction("SET", _split[0])) {
+        if (isInstruction("SET", _split[0])) {
 
             if (_split.length != 4) {
-                error = "A set instruction must be used with 3 parameters, and not " + (_split.length - 1) ;
+                error = "A set instruction must be used with 3 parameters, and not " + (_split.length - 1);
                 addError(0, _lineNb, 0, error, _line);
                 return -1;
             }
@@ -665,7 +663,7 @@ public class TMLMappingTextSpecification<E> {
             task = tmlmap.getTaskByName(_split[1]);
             channel = tmlmap.getChannelByName(_split[1]);
             if ((task == null) && (channel == null)) {
-                error = "Unknown task / channel: " + _split[1] ;
+                error = "Unknown task / channel: " + _split[1];
                 addError(0, _lineNb, 0, error, _line);
                 return -1;
             }
@@ -683,7 +681,7 @@ public class TMLMappingTextSpecification<E> {
         } // SET
 
         // Other command
-        if((_split[0].length() > 0) && (!(isInstruction(_split[0])))) {
+        if ((_split[0].length() > 0) && (!(isInstruction(_split[0])))) {
             error = "Syntax error in mapping information: unrecognized instruction: " + _split[0];
             addError(0, _lineNb, 0, error, _line);
             return -1;
@@ -704,55 +702,55 @@ public class TMLMappingTextSpecification<E> {
         boolean err = false;
         String error;
 
-        if(_parameter < _split.length) {
-            switch(_type) {
-            case 0:
-                if (!isAValidId(_split[_parameter])) {
-                    err = true;
-                }
-                break;
-            case 1:
-                if (!isANumeral(_split[_parameter])) {
-                    err = true;
-                }
-                break;
-            case 3:
-                if (!isIncluded(_split[_parameter], taskparameters)) {
-                    err = true;
-                }
-                break;
-            case 4:
-                if (!isAValidId(getEvtId(_split[_parameter]))) {
-                    err = true;
-                    //System.out.println("Unvalid id");
-                } else if (!TMLEvent.isAValidListOfParams(getParams(_split[_parameter]))) {
-                    //System.out.println("Unvalid param");
-                    err = true;
-                }
-                break;
-            case 5:
-                if (!(_split[_parameter].equals("="))) {
-                    //System.out.println("Error of =");
-                    err = true;
-                }
-                break;
-            case 6:
-                if (_inst.equals("BOOL")) {
-                    String tmp = _split[_parameter].toUpperCase();
-                    if (!(tmp.equals("TRUE") || tmp.equals("FALSE"))) {
+        if (_parameter < _split.length) {
+            switch (_type) {
+                case 0:
+                    if (!isAValidId(_split[_parameter])) {
                         err = true;
                     }
-                } else {
+                    break;
+                case 1:
                     if (!isANumeral(_split[_parameter])) {
                         err = true;
                     }
-                }
-                break;
-            case 7:
-                if (!isAValidId(_split[_parameter]) && !isANumeral(_split[_parameter])) {
-                    err = true;
-                }
-                break;
+                    break;
+                case 3:
+                    if (!isIncluded(_split[_parameter], taskparameters)) {
+                        err = true;
+                    }
+                    break;
+                case 4:
+                    if (!isAValidId(getEvtId(_split[_parameter]))) {
+                        err = true;
+                        //System.out.println("Unvalid id");
+                    } else if (!TMLEvent.isAValidListOfParams(getParams(_split[_parameter]))) {
+                        //System.out.println("Unvalid param");
+                        err = true;
+                    }
+                    break;
+                case 5:
+                    if (!(_split[_parameter].equals("="))) {
+                        //System.out.println("Error of =");
+                        err = true;
+                    }
+                    break;
+                case 6:
+                    if (_inst.equals("BOOL")) {
+                        String tmp = _split[_parameter].toUpperCase();
+                        if (!(tmp.equals("TRUE") || tmp.equals("FALSE"))) {
+                            err = true;
+                        }
+                    } else {
+                        if (!isANumeral(_split[_parameter])) {
+                            err = true;
+                        }
+                    }
+                    break;
+                case 7:
+                    if (!isAValidId(_split[_parameter]) && !isANumeral(_split[_parameter])) {
+                        err = true;
+                    }
+                    break;
             }
         } else {
             err = true;
@@ -778,7 +776,7 @@ public class TMLMappingTextSpecification<E> {
             return false;
         }
 
-        boolean b1 = (_id.substring(0,1)).matches("[a-zA-Z]");
+        boolean b1 = (_id.substring(0, 1)).matches("[a-zA-Z]");
         boolean b2 = _id.matches("\\w*");
         boolean b3 = checkKeywords(_id);
 
@@ -791,7 +789,7 @@ public class TMLMappingTextSpecification<E> {
 
     public boolean checkKeywords(String _id) {
         String id = _id.toUpperCase();
-        for(int i=0; i<keywords.length; i++) {
+        for (int i = 0; i < keywords.length; i++) {
             if (id.compareTo(keywords[i]) == 0) {
                 return false;
             }
@@ -801,7 +799,7 @@ public class TMLMappingTextSpecification<E> {
 
     public boolean isIncluded(String _id, String[] _list) {
         String id = _id.toUpperCase();
-        for(int i=0; i<_list.length; i++) {
+        for (int i = 0; i < _list.length; i++) {
             if (id.compareTo(_list[i].toUpperCase()) == 0) {
                 return true;
             }
@@ -850,8 +848,8 @@ public class TMLMappingTextSpecification<E> {
         int lineNb = 0;
 
         try {
-            while((s = br.readLine()) != null) {
-                lineNb ++;
+            while ((s = br.readLine()) != null) {
+                lineNb++;
                 if (s != null) {
                     found = false;
                     s = s.trim();
@@ -862,8 +860,8 @@ public class TMLMappingTextSpecification<E> {
                         if (split.length > 0) {
                             if ((split[0].equals("#include")) && (split.length == 2)) {
                                 s1 = split[1];
-                                if ((s1.charAt(0) == '\"') && (s1.charAt(s1.length()-1) == '\"')) {
-                                    s1 = s1.substring(1, s1.length()-1).trim();
+                                if ((s1.charAt(0) == '\"') && (s1.charAt(s1.length() - 1) == '\"')) {
+                                    s1 = s1.substring(1, s1.length() - 1).trim();
                                     //System.out.println("Loading file:" + path + s1);
                                     try {
                                         content = FileUtils.loadFile(path + s1);
diff --git a/src/main/java/tmltranslator/TMLModeling.java b/src/main/java/tmltranslator/TMLModeling.java
index b33aa9804d2f6df39af7663e8f442676b490ba72..bc1191c1cb27ac1729d04ef237fa90185c74688b 100755
--- a/src/main/java/tmltranslator/TMLModeling.java
+++ b/src/main/java/tmltranslator/TMLModeling.java
@@ -2285,9 +2285,9 @@ public class TMLModeling<E> {
         writes[nb-1].addNext(stop);
     }
 
-    // Channels with severals origins and one destination
+    // Channels with several origins and one destination
     // Add a task at receiving side
-    // Channel is tranformed into something else ...
+    // Channel is transformed into something else ...
     // Same for events.
     public void removeJoins() {
         // Create new basic channels and tasks
@@ -2305,7 +2305,7 @@ public class TMLModeling<E> {
         // Create new basic events and tasks
         ArrayList<TMLEvent> newEvents = new ArrayList<TMLEvent>();
         for(TMLEvent evt: events) {
-            TraceManager.addDev("Event:" + evt);
+            //TraceManager.addDev("Event:" + evt);
             if (evt.isAJoinEvent()) {
                 TraceManager.addDev("Removing join of this event");
                 removeJoinEvent(evt, newEvents);
diff --git a/src/main/java/tmltranslator/TMLPort.java b/src/main/java/tmltranslator/TMLPort.java
index bd27fe3023e7991ab7e1b720b278ebdbccf98edf..f9ae0ae39472b344fa8b7153c68cb56195266df2 100755
--- a/src/main/java/tmltranslator/TMLPort.java
+++ b/src/main/java/tmltranslator/TMLPort.java
@@ -68,44 +68,35 @@ public class TMLPort extends TMLElement {
     }
 
     public void setPrex( boolean _prex )        {
-
         prex = _prex;
 
     }
 
     public boolean isPrex()     {
-
         return prex;
-
     }
 
     public void setPostex( boolean _postex )    {
-
         postex = _postex;
 
     }
 
     public boolean isPostex()   {
-
         return postex;
 
     }
 
     public void setAssociatedEvent( String _eventName )	{
-
         associatedEvent = _eventName;
 
     }
 
     public String getAssociatedEvent()	{
-
         return associatedEvent;
 
 	}
 
     public String getDataFlowType() {
-
         return dataFlowType;
-
     }
 }
diff --git a/src/main/java/tmltranslator/TMLSyntaxChecking.java b/src/main/java/tmltranslator/TMLSyntaxChecking.java
index 4d579b16dcfb1d89f6bd1c00af94274ef2a97a2c..dad18cca5b160eb66c390bc56b5d24edc2a48cdc 100755
--- a/src/main/java/tmltranslator/TMLSyntaxChecking.java
+++ b/src/main/java/tmltranslator/TMLSyntaxChecking.java
@@ -1,26 +1,26 @@
 /* Copyright or (C) or Copr. GET / ENST, Telecom-Paris, Ludovic Apvrille
- * 
+ *
  * ludovic.apvrille AT enst.fr
- * 
+ *
  * This software is a computer program whose purpose is to allow the
  * edition of TURTLE analysis, design and deployment diagrams, to
  * allow the generation of RT-LOTOS or Java code from this diagram,
  * and at last to allow the analysis of formal validation traces
  * obtained from external tools, e.g. RTL from LAAS-CNRS and CADP
  * from INRIA Rhone-Alpes.
- * 
+ *
  * This software is governed by the CeCILL  license under French law and
  * abiding by the rules of distribution of free software.  You can  use,
  * modify and/ or redistribute the software under the terms of the CeCILL
  * license as circulated by CEA, CNRS and INRIA at the following URL
  * "http://www.cecill.info".
- * 
+ *
  * As a counterpart to the access to the source code and  rights to copy,
  * modify and redistribute granted by the license, users are provided only
  * with a limited warranty  and the software's author,  the holder of the
  * economic rights,  and the successive licensors  have only  limited
  * liability.
- * 
+ *
  * In this respect, the user's attention is drawn to the risks associated
  * with loading,  using,  modifying and/or developing or reproducing the
  * software by the user in light of its specific status of free software,
@@ -31,15 +31,12 @@
  * requirements in conditions enabling the security of their systems and/or
  * data to be ensured and,  more generally, to use and operate it in the
  * same conditions as regards security.
- * 
+ *
  * The fact that you are presently reading this means that you have had
  * knowledge of the CeCILL license and that you accept its terms.
  */
 
 
-
-
-
 package tmltranslator;
 
 import compiler.tmlparser.ParseException;
@@ -51,14 +48,16 @@ import myutil.TraceManager;
 
 import java.io.StringReader;
 import java.util.ArrayList;
+import java.util.HashMap;
 
 
 /**
  * Class TMLSyntaxChecking
  * Used verifying the syntax of a TML specification
  * Creation: 12/09/2007
- * @version 1.0 12/09/2007
+ *
  * @author Ludovic APVRILLE
+ * @version 1.0 12/09/2007
  */
 public class TMLSyntaxChecking {
 
@@ -74,6 +73,7 @@ public class TMLSyntaxChecking {
     private final String SYNTAX_ERROR_VARIABLE_EXPECTED = "syntax error (variable expected)";
     private final String TIME_UNIT_ERROR = "unknown time unit";
     private final String NO_NEXT_OPERATOR_ERROR = "No next operator";
+    private final String SAME_PORT_NAME = "Two ports have the same name";
 
 
     private ArrayList<TMLError> errors;
@@ -96,24 +96,26 @@ public class TMLSyntaxChecking {
         errors = new ArrayList<TMLError>();
         warnings = new ArrayList<TMLError>();
 
-        //System.out.println("Checking syntax");
+        TraceManager.addDev("Checking syntax of TML Mapping/ Modeling");
 
         checkReadAndWriteInChannelsEventsAndRequests();
 
         checkActionSyntax();
 
-	checkNextActions();
+        checkNextActions();
+
+        checkPortName();
     }
 
     public int hasErrors() {
-        if (errors  == null) {
+        if (errors == null) {
             return 0;
         }
         return errors.size();
     }
 
     public int hasWarnings() {
-        if (warnings  == null) {
+        if (warnings == null) {
             return 0;
         }
         return warnings.size();
@@ -137,18 +139,89 @@ public class TMLSyntaxChecking {
 
 
     public void checkNextActions() {
-	for(TMLTask t: tmlm.getTasks()) {
+        for (TMLTask t : tmlm.getTasks()) {
             TMLActivity tactivity = t.getActivityDiagram();
-	    int n = tactivity.nElements();
-	     for(int i=0; i<n; i++) {
+            int n = tactivity.nElements();
+            for (int i = 0; i < n; i++) {
                 TMLActivityElement elt = tactivity.get(i);
-		if (!(elt instanceof TMLStopState)) {
-		    if(elt.getNbNext() == 0) {
-			addError(t, elt, elt.getName() + ": " + NO_NEXT_OPERATOR_ERROR, TMLError.ERROR_BEHAVIOR);
-		    }
-		}
-	     }
-	}
+                if (!(elt instanceof TMLStopState)) {
+                    if (elt.getNbNext() == 0) {
+                        addError(t, elt, elt.getName() + ": " + NO_NEXT_OPERATOR_ERROR, TMLError.ERROR_BEHAVIOR);
+                    }
+                }
+            }
+        }
+    }
+
+    public void checkPortName() {
+        // checks if two ports with the same type (origin, destination) have the same name
+        HashMap<String, TMLPort> origin = new HashMap<String, TMLPort>();
+        HashMap<String, TMLPort> destination = new HashMap<String, TMLPort>();
+
+        // Channels
+        for(TMLChannel tmlc: tmlm.getChannels()) {
+            TMLPort p = tmlc.getOriginPort();
+            tryToAddPort(p, origin, "origin");
+            p = tmlc.getDestinationPort();
+            tryToAddPort(p, destination, "destination");
+
+            for(TMLPort po: tmlc.getOriginPorts()) {
+                tryToAddPort(po, origin, "origin");
+            }
+
+            for(TMLPort po: tmlc.getDestinationPorts()) {
+                tryToAddPort(po, destination, "destination");
+            }
+        }
+
+        // Events
+        for(TMLEvent tmle: tmlm.getEvents()) {
+            TMLPort p = tmle.getOriginPort();
+            tryToAddPort(p, origin, "origin");
+            p = tmle.getDestinationPort();
+            tryToAddPort(p, destination, "destination");
+
+            for(TMLPort po: tmle.getOriginPorts()) {
+                tryToAddPort(po, origin, "origin");
+            }
+
+            for(TMLPort po: tmle.getDestinationPorts()) {
+                tryToAddPort(po, destination, "destination");
+            }
+        }
+
+        // Request
+
+        /*for(TMLRequest tmlr: tmlm.getRequests()) {
+            TMLPort p = tmlr.getOriginPort();
+            tryToAddPort(p, origin, "origin");
+            p = tmlr.getDestinationPort();
+            tryToAddPort(p, destination, "destination");
+
+            for(TMLPort po: tmlr.getOriginPorts()) {
+                tryToAddPort(po, origin, "origin");
+            }
+
+            for(TMLPort po: tmlr.getDestinationPorts()) {
+                tryToAddPort(po, destination, "destination");
+            }
+        }*/
+
+    }
+
+    private void tryToAddPort(TMLPort _p, HashMap<String, TMLPort> map, String origin) {
+        if (_p == null) {
+            return;
+        }
+
+        TMLPort inP = map.get(_p.getName());
+
+        if (inP != null) {
+            addError(null, null,SAME_PORT_NAME + ": " + _p.getName() + "(" + origin + " ports)", TMLError.ERROR_STRUCTURE);
+        } else {
+            //TraceManager.addDev("Adding port with name=" + _p.getName() + " for kind=" + origin);
+            map.put(_p.getName(), _p);
+        }
     }
 
     public void checkReadAndWriteInChannelsEventsAndRequests() {
@@ -156,23 +229,23 @@ public class TMLSyntaxChecking {
         TMLEvent evt;
         TMLRequest request;
 
-        for(TMLTask t: tmlm.getTasks()) {
+        for (TMLTask t : tmlm.getTasks()) {
             TMLActivity tactivity = t.getActivityDiagram();
             TMLActivityElement elt;
             int n = tactivity.nElements();
-            for(int i=0; i<n; i++) {
+            for (int i = 0; i < n; i++) {
                 elt = tactivity.get(i);
                 //System.out.println("Task= " + t.getName() + " element=" + elt);
 
                 if (elt instanceof TMLWriteChannel) {
-                    for(int j=0; j<((TMLWriteChannel)elt).getNbOfChannels(); j++) {
-                        ch = ((TMLWriteChannel)elt).getChannel(j);
+                    for (int j = 0; j < ((TMLWriteChannel) elt).getNbOfChannels(); j++) {
+                        ch = ((TMLWriteChannel) elt).getChannel(j);
                         if (ch.isBasicChannel()) {
                             //System.out.println("Write in channel" + ch.getName());
                             if (ch.getOriginTask() != t) {
                                 //System.out.println("Origin task=" + ch.getOriginTask().getName() + " / task = " + t.getName() + "tch=" + ch.getOriginTask() + " t=" + t);
                                 //System.out.println("tml:" + tmlm.toString());
-                              //  TMLTextSpecification  tmlt = new TMLTextSpecification("toto");
+                                //  TMLTextSpecification  tmlt = new TMLTextSpecification("toto");
                                 //System.out.println("tml:" + tmlt.toTextFormat(tmlm));
                                 addError(t, elt, ch.getName() + ": " + WRONG_ORIGIN_CHANNEL, TMLError.ERROR_BEHAVIOR);
                             }
@@ -181,7 +254,7 @@ public class TMLSyntaxChecking {
                 }
 
                 if (elt instanceof TMLReadChannel) {
-                    ch = ((TMLReadChannel)elt).getChannel(0);
+                    ch = ((TMLReadChannel) elt).getChannel(0);
                     if (ch.isBasicChannel()) {
                         //System.out.println("Read channel");
                         if (ch.getDestinationTask() != t) {
@@ -192,7 +265,7 @@ public class TMLSyntaxChecking {
 
                 if (elt instanceof TMLSendEvent) {
 
-                    evt = ((TMLSendEvent)elt).getEvent();
+                    evt = ((TMLSendEvent) elt).getEvent();
                     if (evt.isBasicEvent()) {
                         //TraceManager.addDev("send evt= " + evt.getName() + " task=" + t.getName() + " origin=" + evt.getOriginTask().getName());
                         if (evt.getOriginTask() != t) {
@@ -202,18 +275,18 @@ public class TMLSyntaxChecking {
                 }
 
                 if (elt instanceof TMLWaitEvent) {
-                    evt = ((TMLWaitEvent)elt).getEvent();
+                    evt = ((TMLWaitEvent) elt).getEvent();
                     if (evt.isBasicEvent()) {
-                        try {
+                        /*try {
                             TraceManager.addDev("wait evt= " + evt.getName());
                         } catch (Exception e) {
                             TraceManager.addDev("Error on evt = " + evt);
                         }
                         if (evt.getDestinationTask() == null) {
                             TraceManager.addDev("Null destination task");
-                        }
+                        }*/
 
-                        TraceManager.addDev("wait evt= " + evt.getName() + " task=" + t.getName() + " destination=" + evt.getDestinationTask().getName());
+                        //TraceManager.addDev("wait evt= " + evt.getName() + " task=" + t.getName() + " destination=" + evt.getDestinationTask().getName());
                         if (evt.getDestinationTask() != t) {
                             addError(t, elt, evt.getName() + ": " + WRONG_DESTINATION_EVENT, TMLError.ERROR_BEHAVIOR);
                         }
@@ -221,7 +294,7 @@ public class TMLSyntaxChecking {
                 }
 
                 if (elt instanceof TMLNotifiedEvent) {
-                    evt = ((TMLNotifiedEvent)elt).getEvent();
+                    evt = ((TMLNotifiedEvent) elt).getEvent();
                     //System.out.println("Write channel");
                     if (evt.getDestinationTask() != t) {
                         addError(t, elt, evt.getName() + ": " + WRONG_DESTINATION_EVENT, TMLError.ERROR_BEHAVIOR);
@@ -229,7 +302,7 @@ public class TMLSyntaxChecking {
                 }
 
                 if (elt instanceof TMLSendRequest) {
-                    request = ((TMLSendRequest)elt).getRequest();
+                    request = ((TMLSendRequest) elt).getRequest();
                     //System.out.println("Write channel");
                     if (!request.isAnOriginTask(t)) {
                         addError(t, elt, request.getName() + ": " + WRONG_ORIGIN_REQUEST, TMLError.ERROR_BEHAVIOR);
@@ -253,45 +326,44 @@ public class TMLSyntaxChecking {
         int elseg, afterg;
         TMLAttribute attr;
 
-      //  StringReader toParse;
+        //  StringReader toParse;
         String action;
 
 
-        for(TMLTask t: tmlm.getTasks()) {
+        for (TMLTask t : tmlm.getTasks()) {
             TMLActivity tactivity = t.getActivityDiagram();
             TMLActivityElement elt;
 
             // Checking names of atrributes
-            for(TMLAttribute attri: t.getAttributes()) {
+            for (TMLAttribute attri : t.getAttributes()) {
                 if (!TMLTextSpecification.isAValidId(attri.getName())) {
                     addError(t, null, WRONG_VARIABLE_IDENTIFIER + ": invalid identifier", TMLError.ERROR_STRUCTURE);
                 }
             }
 
 
-
             int n = tactivity.nElements();
             //System.out.println("Task" + t.getName());
-            for(int i=0; i<n; i++) {
+            for (int i = 0; i < n; i++) {
                 elt = tactivity.get(i);
                 //System.out.println("elt=" + elt);
                 if (elt instanceof TMLActionState) {
-                    action = ((TMLActivityElementWithAction)elt).getAction();
+                    action = ((TMLActivityElementWithAction) elt).getAction();
                     parsingAssignment(t, elt, action);
 
                 } else if (elt instanceof TMLActivityElementWithAction) {
-                    action = ((TMLActivityElementWithAction)elt).getAction();
+                    action = ((TMLActivityElementWithAction) elt).getAction();
                     parsing(t, elt, "actionnat", action);
 
                 } else if (elt instanceof TMLActivityElementWithIntervalAction) {
                     //System.out.println("Parsing TMLActivityElementWithIntervalAction");
-                    action = ((TMLActivityElementWithIntervalAction)elt).getMinDelay();
+                    action = ((TMLActivityElementWithIntervalAction) elt).getMinDelay();
                     parsing(t, elt, "actionnat", action);
-                    action = ((TMLActivityElementWithIntervalAction)elt).getMaxDelay();
+                    action = ((TMLActivityElementWithIntervalAction) elt).getMaxDelay();
                     parsing(t, elt, "actionnat", action);
 
                     if (elt instanceof TMLDelay) {
-                        action = ((TMLDelay)elt).getUnit().trim();
+                        action = ((TMLDelay) elt).getUnit().trim();
 
                         if (!(TMLDelay.isAValidUnit(action))) {
                             addError(t, elt, TIME_UNIT_ERROR + "in expression " + action, TMLError.ERROR_BEHAVIOR);
@@ -299,15 +371,15 @@ public class TMLSyntaxChecking {
                     }
 
                 } else if (elt instanceof TMLActivityElementChannel) {
-                    action = ((TMLActivityElementChannel)elt).getNbOfSamples();
+                    action = ((TMLActivityElementChannel) elt).getNbOfSamples();
                     parsing(t, elt, "actionnat", action);
 
                 } else if (elt instanceof TMLSendEvent) {
-                    tmlase = (TMLSendEvent)elt;
+                    tmlase = (TMLSendEvent) elt;
                     evt = tmlase.getEvent();
-                    for(j=0; j<tmlase.getNbOfParams(); j++) {
+                    for (j = 0; j < tmlase.getNbOfParams(); j++) {
                         action = tmlase.getParam(j);
-                        if ((action != null) && (action.length() > 0)){
+                        if ((action != null) && (action.length() > 0)) {
                             type = evt.getType(j);
                             if ((type == null) || (type.getType() == TMLType.NATURAL)) {
                                 parsing(t, elt, "actionnat", action);
@@ -318,10 +390,10 @@ public class TMLSyntaxChecking {
                     }
 
                 } else if (elt instanceof TMLWaitEvent) {
-                    tmlwe = (TMLWaitEvent)elt;
+                    tmlwe = (TMLWaitEvent) elt;
                     evt = tmlwe.getEvent();
                     //System.out.println("Nb of params of wait event:" + tmlwe.getNbOfParams());
-                    for(j=0; j<tmlwe.getNbOfParams(); j++) {
+                    for (j = 0; j < tmlwe.getNbOfParams(); j++) {
                         action = tmlwe.getParam(j).trim();
                         if ((action != null) && (action.length() > 0)) {
                             if (!(Conversion.isId(action))) {
@@ -329,7 +401,7 @@ public class TMLSyntaxChecking {
                             } else {
                                 // Declared variable?
                                 attr = t.getAttributeByName(action);
-                                if (attr == null ) {
+                                if (attr == null) {
                                     addError(t, elt, UNDECLARED_VARIABLE + " :" + action + " in expression " + action, TMLError.ERROR_BEHAVIOR);
                                 } else {
                                     //System.out.println("Nb of params:" + tmlwe.getEvent().getNbOfParams() + " j:" + j);
@@ -346,11 +418,11 @@ public class TMLSyntaxChecking {
                     }
 
                 } else if (elt instanceof TMLSendRequest) {
-                    tmlsr = (TMLSendRequest)elt;
+                    tmlsr = (TMLSendRequest) elt;
                     req = tmlsr.getRequest();
-                    for(j=0; j<tmlsr.getNbOfParams(); j++) {
+                    for (j = 0; j < tmlsr.getNbOfParams(); j++) {
                         action = tmlsr.getParam(j);
-                        if ((action != null) && (action.length() > 0)){
+                        if ((action != null) && (action.length() > 0)) {
                             type = req.getType(j);
                             if ((type == null) || (type.getType() == TMLType.NATURAL)) {
                                 parsing(t, elt, "actionnat", action);
@@ -361,10 +433,10 @@ public class TMLSyntaxChecking {
                     }
 
                 } else if (elt instanceof TMLChoice) {
-                    choice = (TMLChoice)elt;
+                    choice = (TMLChoice) elt;
                     elseg = choice.getElseGuard();
                     afterg = choice.getAfterGuard();
-                    for(j=0; j<choice.getNbGuard(); j++) {
+                    for (j = 0; j < choice.getNbGuard(); j++) {
                         /*if (action.length() == 1) {
                             if ((action.compareTo("[") == 0) || (action.compareTo("]") == 0)) {
                                 addError(t, elt, SYNTAX_ERROR  + " in expression " + action, TMLError.ERROR_BEHAVIOR);
@@ -373,7 +445,7 @@ public class TMLSyntaxChecking {
                         }*/
                         //TraceManager.addDev("Testing guard: " + choice.getGuard(j));
                         if (!choice.isNonDeterministicGuard(j) && !choice.isStochasticGuard(j)) {
-                            if ((j!= elseg) && (j!=afterg)) {
+                            if ((j != elseg) && (j != afterg)) {
                                 action = choice.getGuard(j);
                                 action = action.trim();
 
@@ -383,7 +455,7 @@ public class TMLSyntaxChecking {
                     }
 
                 } else if (elt instanceof TMLForLoop) {
-                    loop = (TMLForLoop)elt;
+                    loop = (TMLForLoop) elt;
                     if (loop.getInit().trim().length() > 0) {
                         parsing(t, elt, "assnat", loop.getInit());
                     }
@@ -395,11 +467,11 @@ public class TMLSyntaxChecking {
                     }
 
                 } else if (elt instanceof TMLRandom) {
-                    random = (TMLRandom)elt;
+                    random = (TMLRandom) elt;
                     parsing(t, elt, "actionnat", random.getMinValue());
                     parsing(t, elt, "actionnat", random.getMaxValue());
                     parsing(t, elt, "natid", random.getVariable());
-                    parsing(t, elt, "natnumeral", ""+random.getFunctionId());
+                    parsing(t, elt, "natnumeral", "" + random.getFunctionId());
                 }
             }
         }
@@ -415,7 +487,7 @@ public class TMLSyntaxChecking {
 
         String var = action.substring(0, index).trim();
         TMLAttribute attrFound = null;
-        for(TMLAttribute attr: t.getAttributes()) {
+        for (TMLAttribute attr : t.getAttributes()) {
             if (attr.getName().compareTo(var) == 0) {
                 attrFound = attr;
                 break;
@@ -443,7 +515,7 @@ public class TMLSyntaxChecking {
      * The second parsing is performed iff the first one succeeds
      */
     public void parsing(TMLTask t, TMLActivityElement elt, String parseCmd, String action) {
-        if (action==null){
+        if (action == null) {
             return;
         }
         TMLExprParser parser;
@@ -460,7 +532,7 @@ public class TMLSyntaxChecking {
             //System.out.println("ParseException --------> Parse error in :" + parseCmd + " " + action);
             addError(t, elt, SYNTAX_ERROR + " in expression " + action, TMLError.ERROR_BEHAVIOR);
             return;
-        } catch (TokenMgrError tke ) {
+        } catch (TokenMgrError tke) {
             //System.out.println("TokenMgrError --------> Parse error in :" + parseCmd + " " + action);
             addError(t, elt, SYNTAX_ERROR + " in expression " + action, TMLError.ERROR_BEHAVIOR);
             return;
@@ -474,12 +546,12 @@ public class TMLSyntaxChecking {
         int index = action.indexOf('=');
         String modif = action;
 
-        if ((parseCmd.compareTo("assnat") ==0) || (parseCmd.compareTo("assbool") ==0)) {
+        if ((parseCmd.compareTo("assnat") == 0) || (parseCmd.compareTo("assbool") == 0)) {
             if (index != -1) {
-                modif = action.substring(index+1, action.length());
+                modif = action.substring(index + 1, action.length());
             }
 
-            if (parseCmd.compareTo("assnat") ==0) {
+            if (parseCmd.compareTo("assnat") == 0) {
                 parseCmd = "actionnat";
             } else {
                 parseCmd = "actionbool";
@@ -490,7 +562,7 @@ public class TMLSyntaxChecking {
             parseCmd = "natnumeral";
         }
 
-        for(TMLAttribute attr: t.getAttributes()) {
+        for (TMLAttribute attr : t.getAttributes()) {
             modif = tmlm.putAttributeValueInString(modif, attr);
         }
         parser = new TMLExprParser(new StringReader(parseCmd + " " + modif));
@@ -503,7 +575,7 @@ public class TMLSyntaxChecking {
             //System.out.println("ParseException --------> Parse error in :" + parseCmd + " " + action);
             addError(t, elt, VARIABLE_ERROR + " in expression " + action, TMLError.ERROR_BEHAVIOR);
             return;
-        } catch (TokenMgrError tke ) {
+        } catch (TokenMgrError tke) {
             //System.out.println("TokenMgrError --------> Parse error in :" + parseCmd + " " + action);
             addError(t, elt, VARIABLE_ERROR + " in expression " + action, TMLError.ERROR_BEHAVIOR);
             return;
@@ -511,7 +583,7 @@ public class TMLSyntaxChecking {
 
         // Tree analysis: if the tree contains a variable, then, this variable has not been declared
         ArrayList<String> vars = root.getVariables();
-        for(String s: vars) {
+        for (String s : vars) {
             addError(t, elt, UNDECLARED_VARIABLE + " :" + s + " in expression " + action, TMLError.ERROR_BEHAVIOR);
         }
 
@@ -526,7 +598,7 @@ public class TMLSyntaxChecking {
         } else {
             ret += printErrors() + printWarnings();
             ret += "Syntax checking: failed\n";
-            ret += errors.size() + " error(s), "+ warnings.size() + " warning(s)\n";
+            ret += errors.size() + " error(s), " + warnings.size() + " warning(s)\n";
         }
 
         return ret;
@@ -534,7 +606,7 @@ public class TMLSyntaxChecking {
 
     public String printErrors() {
         String ret = "*** ERRORS:";
-        for(TMLError error: errors) {
+        for (TMLError error : errors) {
             ret += "ERROR / task " + error.task.getName() + " / element " + error.element.getName() + ": " + error.message + "\n";
         }
         return ret;
@@ -542,7 +614,7 @@ public class TMLSyntaxChecking {
 
     public String printWarnings() {
         String ret = "";
-        for(TMLError error: warnings) {
+        for (TMLError error : warnings) {
             ret += "ERROR / task " + error.task.getName() + " / element: " + error.element.getName() + ": " + error.message + "\n";
         }
         return ret;
diff --git a/src/main/java/tmltranslator/tomappingsystemc2/DiploSimulatorCodeGenerator.java b/src/main/java/tmltranslator/tomappingsystemc2/DiploSimulatorCodeGenerator.java
index 5a4a9ea0da7460caf77e2828efe209793d26470c..a363f374f01034ee83f919421c9d3946209e05cc 100644
--- a/src/main/java/tmltranslator/tomappingsystemc2/DiploSimulatorCodeGenerator.java
+++ b/src/main/java/tmltranslator/tomappingsystemc2/DiploSimulatorCodeGenerator.java
@@ -37,8 +37,6 @@
  */
 
 
-
-
 package tmltranslator.tomappingsystemc2;
 
 import myutil.Conversion;
@@ -55,8 +53,9 @@ import java.util.*;
 /**
  * Class TML2MappingSystemC
  * Creation: 03/09/2007
- * @version 1.1 03/09/2007
+ *
  * @author Daniel Knorreck, Dominique Blouin, Ludovic Apvrille
+ * @version 1.1 03/09/2007
  */
 public class DiploSimulatorCodeGenerator implements IDiploSimulatorCodeGenerator {
 
@@ -86,7 +85,7 @@ public class DiploSimulatorCodeGenerator implements IDiploSimulatorCodeGenerator
     private final NamesGenerationHelper namesGen;
 
     DiploSimulatorCodeGenerator(TMLModeling<?> _tmlm) {
-        this( _tmlm.getDefaultMapping() );
+        this(_tmlm.getDefaultMapping());
 
         tmlmodeling = _tmlm;
         tmlmodeling.removeForksAndJoins();
@@ -100,11 +99,11 @@ public class DiploSimulatorCodeGenerator implements IDiploSimulatorCodeGenerator
         //      tmlmapping.removeForksAndJoins();
         //        tmlmapping.makeMinimumMapping();
         //        tepeTranslator = new  SystemCTEPE(new ArrayList<TEPE>(), this);
-        this( _tmlmapping, null, new ArrayList<TEPE>() );
+        this(_tmlmapping, null, new ArrayList<TEPE>());
     }
 
     DiploSimulatorCodeGenerator(TMLModeling<?> _tmlm, List<EBRDD> _ebrdds, List<TEPE> _tepes) {
-        this( _tmlm.getDefaultMapping(), _ebrdds, _tepes );
+        this(_tmlm.getDefaultMapping(), _ebrdds, _tepes);
 
         tmlmodeling = _tmlm;
         //        tmlmapping = tmlmodeling.getDefaultMapping();
@@ -114,14 +113,14 @@ public class DiploSimulatorCodeGenerator implements IDiploSimulatorCodeGenerator
     DiploSimulatorCodeGenerator(TMLMapping<?> _tmlmapping, List<EBRDD> _ebrdds, List<TEPE> _tepes) {
         tmlmapping = _tmlmapping;
 
-        if ( tmlmapping == null ) {
-            throw new IllegalArgumentException( "TML Mapping is NULL." );
+        if (tmlmapping == null) {
+            throw new IllegalArgumentException("TML Mapping is NULL.");
         }
 
         tmlmapping.handleCPs();
         tmlmapping.removeForksAndJoins();
         tmlmapping.makeMinimumMapping();
-        tepeTranslator = new  SystemCTEPE(_tepes, this );
+        tepeTranslator = new SystemCTEPE(_tepes, this);
         namesGen = NamesGenerationHelper.INSTANCE;
     }
 
@@ -138,6 +137,9 @@ public class DiploSimulatorCodeGenerator implements IDiploSimulatorCodeGenerator
     }
 
     public void generateSystemC(boolean _debug, boolean _optimize) {
+
+        TraceManager.addDev("Generate SystemC code from DiploSimulatorCodeGenerator");
+
         debug = _debug;
         optimize = _optimize;
         tmlmapping.removeAllRandomSequences();
@@ -160,8 +162,8 @@ public class DiploSimulatorCodeGenerator implements IDiploSimulatorCodeGenerator
 
     private void generateMakefileSrc() {
         src = "SRCS = ";
-        for(TMLTask mst: tmlmapping.getMappedTasks()) {
-            src += namesGen.cppFileName( mst.getName() ) + SPACE;
+        for (TMLTask mst : tmlmapping.getMappedTasks()) {
+            src += namesGen.cppFileName(mst.getName()) + SPACE;
         }
         //for(EBRDD ebrdd: ebrdds){
         //      src += ebrdd.getName() + ".cpp ";
@@ -181,9 +183,9 @@ public class DiploSimulatorCodeGenerator 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 " + NamesGenerationHelper.LEFT_ANGLE_RACKET + namesGen.headerFileName( mst.getName() ) + NamesGenerationHelper.RIGHT_ANGLE_RACKET + CR;
+            header += "#include " + NamesGenerationHelper.LEFT_ANGLE_RACKET + namesGen.headerFileName(mst.getName()) + NamesGenerationHelper.RIGHT_ANGLE_RACKET + CR;
         }
         //for(EBRDD ebrdd: ebrdds){
         //      header += "#include <" + ebrdd.getName() + ".h>" + CR;
@@ -196,55 +198,53 @@ public class DiploSimulatorCodeGenerator implements IDiploSimulatorCodeGenerator
 
         // Declaration of HW nodes
         declaration += "//Declaration of CPUs" + CR;
-        for(HwNode node: tmlmapping.getTMLArchitecture().getHwNodes()) {
-            if ( node instanceof HwCPU ) {
+        for (HwNode node : tmlmapping.getTMLArchitecture().getHwNodes()) {
+            if (node instanceof HwCPU) {
                 final HwCPU exNode = (HwCPU) node;
                 final String schedulerInstName;
 
-                if ( exNode.getType().equals( "CPURRPB" ) ) {
-                    schedulerInstName = namesGen.prioSchedulerInstanceName( exNode );
-                    declaration += "PrioScheduler* " + schedulerInstName + " = new PrioScheduler(\"" + namesGen.prioSchedulerName( exNode ) + "\", 0)" + SCCR;
-                }
-                else {
+                if (exNode.getType().equals("CPURRPB")) {
+                    schedulerInstName = namesGen.prioSchedulerInstanceName(exNode);
+                    declaration += "PrioScheduler* " + schedulerInstName + " = new PrioScheduler(\"" + namesGen.prioSchedulerName(exNode) + "\", 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;
-                    schedulerInstName = namesGen.rrSchedulerInstanceName( exNode );
-                    declaration += "RRScheduler* " + schedulerInstName + " = new RRScheduler(\"" + namesGen.rrSchedulerName( exNode ) + "\", 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;
+                    schedulerInstName = namesGen.rrSchedulerInstanceName(exNode);
+                    declaration += "RRScheduler* " + schedulerInstName + " = new RRScheduler(\"" + namesGen.rrSchedulerName(exNode) + "\", 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);
+                //TraceManager.addDev("cores " + exNode.nbOfCores);
 
-                for(int cores = 0; cores < exNode.nbOfCores; cores++ ) {
-                    final String cpuInstName = namesGen.cpuInstanceName( exNode, cores );
-                    declaration += "CPU* " + cpuInstName + " = new SingleCoreCPU(" + exNode.getID() + ", \"" + namesGen.cpuName( exNode, cores ) + "\", " + schedulerInstName + ", ";
-                    declaration  += exNode.clockRatio + ", " + exNode.execiTime + ", " + exNode.execcTime + ", " + exNode.pipelineSize + ", " + exNode.taskSwitchingTime + ", " + exNode.branchingPredictionPenalty + ", " + exNode.goIdleTime + ", "  + exNode.maxConsecutiveIdleCycles + ", " + exNode.byteDataSize + ")" + SCCR;
+                for (int cores = 0; cores < exNode.nbOfCores; cores++) {
+                    final String cpuInstName = namesGen.cpuInstanceName(exNode, cores);
+                    declaration += "CPU* " + cpuInstName + " = new SingleCoreCPU(" + exNode.getID() + ", \"" + namesGen.cpuName(exNode, cores) + "\", " + schedulerInstName + ", ";
+                    declaration += exNode.clockRatio + ", " + exNode.execiTime + ", " + exNode.execcTime + ", " + exNode.pipelineSize + ", " + exNode.taskSwitchingTime + ", " + exNode.branchingPredictionPenalty + ", " + exNode.goIdleTime + ", " + exNode.maxConsecutiveIdleCycles + ", " + exNode.byteDataSize + ")" + SCCR;
 
-                    if ( cores != 0 ) {
+                    if (cores != 0) {
                         declaration += cpuInstName + "->setScheduler(" + schedulerInstName + ",false)" + SCCR;
                     }
 
-                    declaration += "addCPU(" + cpuInstName + ")"+ SCCR;
+                    declaration += "addCPU(" + cpuInstName + ")" + SCCR;
                 }
-            }
-            else if ( node instanceof HwA ) {
+            } else if (node instanceof HwA) {
                 final HwA hwaNode = (HwA) node;
-                final String schedulerInstName = namesGen.rrSchedulerInstanceName( hwaNode );
-                final String schedulerName = namesGen.rrSchedulerName( hwaNode );
-                declaration += "RRScheduler* " + schedulerInstName + " = new RRScheduler(\"" + schedulerName + "\", 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;
+                final String schedulerInstName = namesGen.rrSchedulerInstanceName(hwaNode);
+                final String schedulerName = namesGen.rrSchedulerName(hwaNode);
+                declaration += "RRScheduler* " + schedulerInstName + " = new RRScheduler(\"" + schedulerName + "\", 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;
 
                 // DB: Issue #21 Why a for loop???
                 //for (int cores=0; cores<1; cores++){
-                final String hwaInstName = namesGen.hwAccInstanceName( hwaNode );
-                declaration += "CPU* " + hwaInstName + " = new SingleCoreCPU(" + hwaNode.getID() + ", \"" + namesGen.hwAccName( hwaNode ) + "\", " + schedulerInstName + ", ";
+                final String hwaInstName = namesGen.hwAccInstanceName(hwaNode);
+                declaration += "CPU* " + hwaInstName + " = new SingleCoreCPU(" + hwaNode.getID() + ", \"" + namesGen.hwAccName(hwaNode) + "\", " + schedulerInstName + ", ";
 
-                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;
+                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;
 
                 // DB: Issue #21 TODO: Should there be a scheduler?? Given the for loop, cores is always 0 so this code is never executed
                 //                if (cores!=0) {
                 //                      declaration+= cpuInstName +  "->setScheduler(" + schedulerInstName + ",false)" + SCCR;
                 //                }
 
-                declaration += "addCPU(" + hwaInstName + ")"+ SCCR;
+                declaration += "addCPU(" + hwaInstName + ")" + SCCR;
                 //}
             }
         }
@@ -254,22 +254,21 @@ public class DiploSimulatorCodeGenerator implements IDiploSimulatorCodeGenerator
         // Declaration of Buses
         declaration += "//Declaration of Buses" + CR;
 
-        for( final HwNode node: tmlmapping.getTMLArchitecture().getHwNodes()) {
+        for (final HwNode node : tmlmapping.getTMLArchitecture().getHwNodes()) {
             if (node instanceof HwBus) {
                 final HwBus thisBus = (HwBus) node;
 
-                for( int i=0; i< thisBus.pipelineSize; i++ ) {
-                    final String busInstName = namesGen.busInstanceName( thisBus, i );
-                    declaration += "Bus* " + busInstName + " = new Bus("+ node.getID() + ",\"" + namesGen.busName( thisBus, i ) + "\",0, 100, "+ thisBus.byteDataSize + ", " + node.clockRatio + ",";
+                for (int i = 0; i < thisBus.pipelineSize; i++) {
+                    final String busInstName = namesGen.busInstanceName(thisBus, i);
+                    declaration += "Bus* " + busInstName + " = new Bus(" + node.getID() + ",\"" + namesGen.busName(thisBus, i) + "\",0, 100, " + thisBus.byteDataSize + ", " + node.clockRatio + ",";
 
-                    if ( thisBus.arbitration==HwBus.CAN ) {
+                    if (thisBus.arbitration == HwBus.CAN) {
                         declaration += Boolean.TRUE.toString();
-                    }
-                    else {
+                    } else {
                         declaration += Boolean.FALSE.toString();
                     }
 
-                    declaration += ");\naddBus(" + busInstName + ")"+ SCCR;
+                    declaration += ");\naddBus(" + busInstName + ")" + SCCR;
                 }
             }
         }
@@ -279,12 +278,12 @@ public class DiploSimulatorCodeGenerator 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) {
                 final HwBridge bridge = (HwBridge) node;
-                final String bridgeInstName = namesGen.bridgeInstanceName( bridge );
-                declaration+= "Bridge* " + bridgeInstName + " = new Bridge("+ node.getID() + ",\"" + namesGen.bridgeName( bridge ) + "\", " + node.clockRatio + ", " + ((HwBridge)node).bufferByteSize + ")" +SCCR;
-                declaration += "addBridge("+ bridgeInstName +")"+ SCCR;
+                final String bridgeInstName = namesGen.bridgeInstanceName(bridge);
+                declaration += "Bridge* " + bridgeInstName + " = new Bridge(" + node.getID() + ",\"" + namesGen.bridgeName(bridge) + "\", " + node.clockRatio + ", " + ((HwBridge) node).bufferByteSize + ")" + SCCR;
+                declaration += "addBridge(" + bridgeInstName + ")" + SCCR;
             }
         }
 
@@ -293,12 +292,12 @@ public class DiploSimulatorCodeGenerator implements IDiploSimulatorCodeGenerator
         // Declaration of Memories
         declaration += "//Declaration of Memories" + CR;
 
-        for ( final HwNode node: tmlmapping.getTMLArchitecture().getHwNodes() ) {
-            if ( node instanceof HwMemory ) {
+        for (final HwNode node : tmlmapping.getTMLArchitecture().getHwNodes()) {
+            if (node instanceof HwMemory) {
                 final HwMemory memory = (HwMemory) node;
-                final String memInstName = namesGen.memoryInstanceName( memory );
-                declaration+= "Memory* " + memInstName + " = new Memory("+ node.getID() + ",\"" + namesGen.memoryName( memory ) + "\", " + node.clockRatio + ", " + ((HwMemory)node).byteDataSize + ")" +SCCR;
-                declaration += "addMem("+ memInstName +")"+ SCCR;
+                final String memInstName = namesGen.memoryInstanceName(memory);
+                declaration += "Memory* " + memInstName + " = new Memory(" + node.getID() + ",\"" + namesGen.memoryName(memory) + "\", " + node.clockRatio + ", " + ((HwMemory) node).byteDataSize + ")" + SCCR;
+                declaration += "addMem(" + memInstName + ")" + SCCR;
             }
         }
 
@@ -306,41 +305,39 @@ public class DiploSimulatorCodeGenerator implements IDiploSimulatorCodeGenerator
 
         //Declaration of Bus masters
         declaration += "//Declaration of Bus masters" + CR;
-        for(HwNode node: tmlmapping.getTMLArchitecture().getHwNodes()){
-            if (node instanceof HwExecutionNode || node instanceof HwBridge){
+        for (HwNode node : tmlmapping.getTMLArchitecture().getHwNodes()) {
+            if (node instanceof HwExecutionNode || node instanceof HwBridge) {
                 final List<HwLink> nodeLinks = tmlmapping.getTMLArchitecture().getLinkByHwNode(node);
 
-                for( final HwLink link: nodeLinks ) {
+                for (final HwLink link : nodeLinks) {
                     final int noOfCores;
 
-                    if ( node instanceof HwCPU ) {
-                        noOfCores = ((HwCPU)node).nbOfCores;
-                    }
-                    else {
+                    if (node instanceof HwCPU) {
+                        noOfCores = ((HwCPU) node).nbOfCores;
+                    } else {
                         noOfCores = 1;
                     }
 
-                    for ( int cores = 0; cores < noOfCores; cores++ ) {
+                    for (int cores = 0; cores < noOfCores; cores++) {
                         final String nodeInstanceName;
 
-                        if ( node instanceof HwCPU || node instanceof HwA ) {
-                            nodeInstanceName = namesGen.executionNodeInstanceName( (HwExecutionNode) node, cores );
-                        }
-                        else {
-                            nodeInstanceName = namesGen.bridgeInstanceName( (HwBridge) node );
+                        if (node instanceof HwCPU || node instanceof HwA) {
+                            nodeInstanceName = namesGen.executionNodeInstanceName((HwExecutionNode) node, cores);
+                        } else {
+                            nodeInstanceName = namesGen.bridgeInstanceName((HwBridge) node);
                         }
 
-                        final String busMasterInstName = namesGen.busMasterInstanceName( node, cores, link.bus );
+                        final String busMasterInstName = namesGen.busMasterInstanceName(node, cores, link.bus);
 
-                        declaration+= "BusMaster* " + busMasterInstName + " = new BusMaster(\"" + namesGen.busMasterName( node, cores, link.bus ) + "\", " + link.getPriority() + ", " + link.bus.pipelineSize + ", array(" + link.bus.pipelineSize;
+                        declaration += "BusMaster* " + busMasterInstName + " = new BusMaster(\"" + namesGen.busMasterName(node, cores, link.bus) + "\", " + link.getPriority() + ", " + link.bus.pipelineSize + ", array(" + link.bus.pipelineSize;
 
-                        for(int i=0; i< link.bus.pipelineSize; i++) {
-                            declaration+= ", (SchedulableCommDevice*) " + namesGen.schedComDeviceInstanceName( link.bus, i );
+                        for (int i = 0; i < link.bus.pipelineSize; i++) {
+                            declaration += ", (SchedulableCommDevice*) " + namesGen.schedComDeviceInstanceName(link.bus, i);
                         }
 
-                        declaration+= "))" + SCCR;
+                        declaration += "))" + SCCR;
 
-                        declaration+= nodeInstanceName + "->addBusMaster(" + busMasterInstName + ")" + SCCR;
+                        declaration += nodeInstanceName + "->addBusMaster(" + busMasterInstName + ")" + SCCR;
                     }
                 }
             }
@@ -351,37 +348,37 @@ public class DiploSimulatorCodeGenerator implements IDiploSimulatorCodeGenerator
         // Declaration of channels
         declaration += "//Declaration of channels" + CR;
 
-        for ( final TMLElement elem : tmlmodeling.getChannels() ) {
+        for (final TMLElement elem : tmlmodeling.getChannels()) {
             if (elem instanceof TMLChannel) {
-                final TMLChannel channel = (TMLChannel)elem;
+                final TMLChannel channel = (TMLChannel) elem;
 
-                final String channelTypeName = namesGen.channelTypeName( channel );
-                final String channelInstName = namesGen.channelInstanceName( channel );
+                final String channelTypeName = namesGen.channelTypeName(channel);
+                final String channelInstName = namesGen.channelInstanceName(channel);
 
-                declaration += channelTypeName + "* " + channelInstName + " = new " + channelTypeName  +"(" + channel.getID() + ",\"" + namesGen.channelName( channel ) + "\"," + channel.getSize() + ",";
+                declaration += channelTypeName + "* " + channelInstName + " = new " + channelTypeName + "(" + channel.getID() + ",\"" + namesGen.channelName(channel) + "\"," + channel.getSize() + ",";
 
                 final String param;
 
-                switch(channel.getType()) {
-                case TMLChannel.BRBW:
-                    param= "," + channel.getMax() + ",0";
-                    break;
-                case TMLChannel.BRNBW:
-                    param= ",0";
-                    break;
-                case TMLChannel.NBRNBW:
-                default:
-                    param= "";
+                switch (channel.getType()) {
+                    case TMLChannel.BRBW:
+                        param = "," + channel.getMax() + ",0";
+                        break;
+                    case TMLChannel.BRNBW:
+                        param = ",0";
+                        break;
+                    case TMLChannel.NBRNBW:
+                    default:
+                        param = "";
                 }
 
                 declaration += determineRouting(tmlmapping.getHwNodeOf(channel.getOriginTask()), tmlmapping.getHwNodeOf(channel.getDestinationTask()), elem) + param + "," + channel.getPriority();
 
-                if (channel.isLossy() && channel.getType()!=TMLChannel.NBRNBW) {
+                if (channel.isLossy() && channel.getType() != TMLChannel.NBRNBW) {
                     declaration += "," + channel.getLossPercentage() + "," + channel.getMaxNbOfLoss();
                 }
 
-                declaration += ")"+ SCCR;
-                declaration += "addChannel("+ channelInstName +")"+ SCCR;
+                declaration += ")" + SCCR;
+                declaration += "addChannel(" + channelInstName + ")" + SCCR;
             }
         }
 
@@ -390,32 +387,29 @@ public class DiploSimulatorCodeGenerator implements IDiploSimulatorCodeGenerator
         // Declaration of events
         declaration += "//Declaration of events" + CR;
 
-        for( final TMLEvent evt : tmlmodeling.getEvents() ) {
-            final String eventTypeName = namesGen.eventTypeName( evt );
+        for (final TMLEvent evt : tmlmodeling.getEvents()) {
+            final String eventTypeName = namesGen.eventTypeName(evt);
 
             final String param;
 
             if (evt.isInfinite()) {
-                param= ",0,false,false";
-            }
-            else {
+                param = ",0,false,false";
+            } else {
                 if (evt.isBlocking()) {
-                    param= "," + evt.getMaxSize() + ",0";
-                }
-                else {
-                    param= "," + evt.getMaxSize() + ",0";
+                    param = "," + evt.getMaxSize() + ",0";
+                } else {
+                    param = "," + evt.getMaxSize() + ",0";
                 }
             }
 
-            final String eventInstName = namesGen.eventInstanceName( evt );
-            final String eventName = namesGen.eventName( evt );
+            final String eventInstName = namesGen.eventInstanceName(evt);
+            final String eventName = namesGen.eventName(evt);
 
-            if (tmlmapping.isCommNodeMappedOn(evt,null)){
-                TraceManager.addDev("Evt: " + evt.getName());
+            if (tmlmapping.isCommNodeMappedOn(evt, null)) {
+                //TraceManager.addDev("Evt: " + evt.getName());
                 declaration += eventTypeName + "* " + eventInstName + " = new " + eventTypeName + "(" + evt.getID() + ",\"" + eventName + "\"," + determineRouting(tmlmapping.getHwNodeOf(evt.getOriginTask()), tmlmapping.getHwNodeOf(evt.getDestinationTask()), evt) + param;
 
-            }
-            else{
+            } else {
                 declaration += eventTypeName + "* " + eventInstName + " = new " + eventTypeName + "(" + evt.getID() + ",\"" + eventName + "\",0,0,0" + param;   ///old command
             }
 
@@ -424,7 +418,7 @@ public class DiploSimulatorCodeGenerator implements IDiploSimulatorCodeGenerator
             }
 
             declaration += ")" + SCCR;
-            declaration += "addEvent("+ eventInstName +")"+ SCCR;
+            declaration += "addEvent(" + eventInstName + ")" + SCCR;
         }
 
         declaration += CR;
@@ -432,30 +426,29 @@ public class DiploSimulatorCodeGenerator implements IDiploSimulatorCodeGenerator
         // Declaration of requests
         declaration += "//Declaration of requests" + CR;
 
-        for(TMLTask task: tmlmodeling.getTasks()) {
+        for (TMLTask task : tmlmodeling.getTasks()) {
             if (task.isRequested()) {
-                final String reqChannelInstName = namesGen.requestChannelInstanceName( task );
+                final String reqChannelInstName = namesGen.requestChannelInstanceName(task);
                 TMLRequest req = task.getRequest();
 
-                if (tmlmapping.isCommNodeMappedOn(req,null)){
-                    TraceManager.addDev("Request: " + req.getName());
+                if (tmlmapping.isCommNodeMappedOn(req, null)) {
+                    //TraceManager.addDev("Request: " + req.getName());
                     declaration += "TMLEventBChannel<ParamType," + req.getNbOfParams() + ">* " + reqChannelInstName + " = new TMLEventBChannel<ParamType," + req.getNbOfParams() + ">(" +
-                        req.getID() + ",\"" + reqChannelInstName + "\"," +
-                        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 {
+                            req.getID() + ",\"" + reqChannelInstName + "\"," +
+                            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() + ">* " + reqChannelInstName + " = new TMLEventBChannel<ParamType," + req.getNbOfParams() + ">(" + //req.getID() + ",\"reqChannel"+ task.getName() + "\",0,0,0,0," + req.getNbOfParams() + ",true)" + SCCR;
-                        req.getID() + ",\"" + reqChannelInstName + "\",0,0,0,0,true,false";
+                            req.getID() + ",\"" + reqChannelInstName + "\",0,0,0,0,true,false";
                 }
 
-                if ( req.isLossy() ) {
+                if (req.isLossy()) {
                     declaration += "," + req.getLossPercentage() + "," + req.getMaxNbOfLoss();
                 }
 
                 declaration += ")" + SCCR;
 
-                declaration += "addRequest( " + reqChannelInstName +")"+ SCCR;
+                declaration += "addRequest( " + reqChannelInstName + ")" + SCCR;
             }
         }
 
@@ -464,46 +457,44 @@ public class DiploSimulatorCodeGenerator implements IDiploSimulatorCodeGenerator
         //Set bus schedulers
         declaration += "//Set bus schedulers" + CR;
 
-        for ( final HwNode node : tmlmapping.getTMLArchitecture().getHwNodes() ) {
-            if ( node instanceof HwBus ) {
+        for (final HwNode node : tmlmapping.getTMLArchitecture().getHwNodes()) {
+            if (node instanceof HwBus) {
                 final HwBus bus = (HwBus) node;
-                final List<HwLink> busLinks= tmlmapping.getTMLArchitecture().getLinkByBus((HwBus)node);
-                String devices="";
-                int numDevices=0;
+                final List<HwLink> busLinks = tmlmapping.getTMLArchitecture().getLinkByBus((HwBus) node);
+                String devices = "";
+                int numDevices = 0;
 
-                if (!busLinks.isEmpty()){
-                    for ( final HwLink link : busLinks ) {
-                        if ( link.hwnode instanceof HwExecutionNode || link.hwnode instanceof HwBridge ) {
+                if (!busLinks.isEmpty()) {
+                    for (final HwLink link : busLinks) {
+                        if (link.hwnode instanceof HwExecutionNode || link.hwnode instanceof HwBridge) {
                             // DB Issue #21: This is a bug according to the cast in the for loop line
-                            if ( link.hwnode instanceof HwCPU ) { //|| (link.hwnode instanceof HwA)){
+                            if (link.hwnode instanceof HwCPU) { //|| (link.hwnode instanceof HwA)){
                                 final HwCPU cpu = (HwCPU) link.hwnode;
 
-                                for ( int cores = 0; cores < cpu.nbOfCores; cores++ ) {
-                                    devices += ", (WorkloadSource*) " + namesGen.workloadSourceInstanceName( cpu, cores, bus );
+                                for (int cores = 0; cores < cpu.nbOfCores; cores++) {
+                                    devices += ", (WorkloadSource*) " + namesGen.workloadSourceInstanceName(cpu, cores, bus);
                                     numDevices++;
                                 }
-                            }
-                            else {
-                                devices += ", (WorkloadSource*) " + namesGen.workloadSourceInstanceName( link.hwnode, 0, bus );
+                            } else {
+                                devices += ", (WorkloadSource*) " + namesGen.workloadSourceInstanceName(link.hwnode, 0, bus);
                                 numDevices++;
                             }
                         }
                     }
 
-                    declaration += namesGen.busInstanceName( bus, 0 ) + "->setScheduler( (WorkloadSource*) new ";
+                    declaration += namesGen.busInstanceName(bus, 0) + "->setScheduler( (WorkloadSource*) new ";
 
-                    if ( bus.arbitration == HwBus.BASIC_ROUND_ROBIN ) {
-                        declaration+="RRScheduler(\"" + namesGen.rrSchedulerName( bus ) + "\", 0, 5, " + (int) Math.ceil(((float)node.clockRatio)/((float)((HwBus)node).byteDataSize)) + ", array(";
-                    }
-                    else {
-                        declaration+="PrioScheduler(\"" + namesGen.prioSchedulerName( bus ) + "\", 0, array(";
+                    if (bus.arbitration == HwBus.BASIC_ROUND_ROBIN) {
+                        declaration += "RRScheduler(\"" + namesGen.rrSchedulerName(bus) + "\", 0, 5, " + (int) Math.ceil(((float) node.clockRatio) / ((float) ((HwBus) node).byteDataSize)) + ", array(";
+                    } else {
+                        declaration += "PrioScheduler(\"" + namesGen.prioSchedulerName(bus) + "\", 0, array(";
                     }
 
-                    declaration+= numDevices + devices + "), " + numDevices + "))" + SCCR;
+                    declaration += numDevices + devices + "), " + numDevices + "))" + SCCR;
                 }
 
-                for( int i = 1; i < bus.pipelineSize; i++ ) {
-                    declaration+= namesGen.busInstanceName( bus, i ) + "->setScheduler(" + namesGen.busInstanceName( bus, 0 ) + "->getScheduler(),false)" +SCCR;
+                for (int i = 1; i < bus.pipelineSize; i++) {
+                    declaration += namesGen.busInstanceName(bus, i) + "->setScheduler(" + namesGen.busInstanceName(bus, 0) + "->getScheduler(),false)" + SCCR;
                 }
             }
         }
@@ -521,25 +512,24 @@ public class DiploSimulatorCodeGenerator implements IDiploSimulatorCodeGenerator
         int[] aStatistics = new int[8];
         Set<Integer> mappedChannels = new HashSet<Integer>();
 
-        for ( final TMLTask task: tmlmapping.getMappedTasks() ) {
-            node= iterator.next();
+        for (final TMLTask task : tmlmapping.getMappedTasks()) {
+            node = iterator.next();
 
-            final String taskClassName = namesGen.taskTypeName( task );
-            declaration += taskClassName + "* " + namesGen.taskInstanceName( task ) + " = new " + taskClassName + "("+ task.getID() +","+ task.getPriority() + ",\"" + namesGen.taskName( task ) + "\", array(";
+            final String taskClassName = namesGen.taskTypeName(task);
+            declaration += taskClassName + "* " + namesGen.taskInstanceName(task) + " = new " + taskClassName + "(" + task.getID() + "," + task.getPriority() + ",\"" + namesGen.taskName(task) + "\", array(";
 
-            if ( node instanceof HwCPU ) {
+            if (node instanceof HwCPU) {
                 final HwCPU hwCpu = (HwCPU) node;
                 declaration += hwCpu.nbOfCores;
 
-                for ( int cores = 0; cores< hwCpu.nbOfCores; cores++ ) {
-                    declaration+= "," + namesGen.cpuInstanceName( hwCpu, cores );
+                for (int cores = 0; cores < hwCpu.nbOfCores; cores++) {
+                    declaration += "," + namesGen.cpuInstanceName(hwCpu, cores);
                 }
 
                 //                declaration+= "),1" + CR;
-            }
-            else if ( node instanceof HwA ) {
+            } else if (node instanceof HwA) {
                 final HwA hwAcc = (HwA) node;
-                declaration+= "1 ," + namesGen.hwAccInstanceName( hwAcc );
+                declaration += "1 ," + namesGen.hwAccInstanceName(hwAcc);
 
                 // DB Issue #22: copy paste error?? This causes class cast exception
                 //              declaration+= ((HwCPU)node).nbOfCores;
@@ -549,40 +539,39 @@ public class DiploSimulatorCodeGenerator implements IDiploSimulatorCodeGenerator
                 //                }
                 //
                 //                declaration+= ")," + ((HwCPU)node).nbOfCores + CR;
-            }
-            else {
-                throw new UnsupportedOperationException( "Not implemented for " + node.getClass().getSimpleName() + "!" );
+            } else {
+                throw new UnsupportedOperationException("Not implemented for " + node.getClass().getSimpleName() + "!");
             }
 
-            declaration+= "), 1" + CR;
+            declaration += "), 1" + CR;
 
-            final List<TMLChannel> channels = new ArrayList<TMLChannel>( tmlmodeling.getChannels( task ) );
-            final List<TMLEvent> events = new ArrayList<TMLEvent>( tmlmodeling.getEvents( task ) );
-            final List<TMLRequest> requests = new ArrayList<TMLRequest>( tmlmodeling.getRequests( task ) );
+            final List<TMLChannel> channels = new ArrayList<TMLChannel>(tmlmodeling.getChannels(task));
+            final List<TMLEvent> events = new ArrayList<TMLEvent>(tmlmodeling.getEvents(task));
+            final List<TMLRequest> requests = new ArrayList<TMLRequest>(tmlmodeling.getRequests(task));
 
             final MappedSystemCTask mst = new MappedSystemCTask(task, channels, events, requests, tmlmapping, mappedChannels);
             tasks.add(mst);
 
-            for( final TMLChannel channelb : channels ) {
-                declaration += "," + namesGen.channelInstanceName( channelb ) + CR;
+            for (final TMLChannel channelb : channels) {
+                declaration += "," + namesGen.channelInstanceName(channelb) + CR;
             }
 
-            for( final TMLEvent evt : events) {
-                declaration += "," + namesGen.eventInstanceName( evt ) + CR;
+            for (final TMLEvent evt : events) {
+                declaration += "," + namesGen.eventInstanceName(evt) + CR;
             }
 
-            for( final TMLRequest req: requests ) {
-                if ( req.isAnOriginTask( task ) ) {
-                    declaration+=", " + namesGen.requestChannelInstanceName( req.getDestinationTask() ) + CR;
+            for (final TMLRequest req : requests) {
+                if (req.isAnOriginTask(task)) {
+                    declaration += ", " + namesGen.requestChannelInstanceName(req.getDestinationTask()) + CR;
                 }
             }
 
-            if ( task.isRequested() ) {
-                declaration += "," + namesGen.requestChannelInstanceName( task ) + CR;
+            if (task.isRequested()) {
+                declaration += "," + namesGen.requestChannelInstanceName(task) + CR;
             }
 
             declaration += ")" + SCCR;
-            declaration += "addTask(" + namesGen.taskInstanceName( task ) +")"+ SCCR;
+            declaration += "addTask(" + namesGen.taskInstanceName(task) + ")" + SCCR;
         }
 
         declaration += "}\n\n";
@@ -594,7 +583,7 @@ public class DiploSimulatorCodeGenerator implements IDiploSimulatorCodeGenerator
         declaration += tepeTranslator.getCode();
 
         //Generation of tasks
-        for(MappedSystemCTask task: tasks){
+        for (MappedSystemCTask task : tasks) {
             task.determineCheckpoints(aStatistics);
             task.generateSystemC(debug, optimize);
         }
@@ -602,12 +591,13 @@ public class DiploSimulatorCodeGenerator 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;
@@ -617,12 +607,12 @@ public class DiploSimulatorCodeGenerator implements IDiploSimulatorCodeGenerator
           }*/
     }
 
-    private int extractPath(    final List<HwCommunicationNode> path,
-                                final StrWrap masters,
-                                final StrWrap slaves,
-                                final HwNode startNode,
-                                final HwNode destNode,
-                                final boolean reverseIn ) {
+    private int extractPath(final List<HwCommunicationNode> path,
+                            final StrWrap masters,
+                            final StrWrap slaves,
+                            final HwNode startNode,
+                            final HwNode destNode,
+                            final boolean reverseIn) {
         //        String firstPart="";
         HwNode firstNode = null;
         int masterCount = 0;
@@ -630,46 +620,41 @@ public class DiploSimulatorCodeGenerator implements IDiploSimulatorCodeGenerator
 
         if (reverseIn) {
             slaves.str += ",static_cast<Slave*>(0)";
-        }
-        else {
+        } else {
             //firstPart=startNode.getName() + "0";
             firstNode = startNode;
         }
 
-        for( final HwCommunicationNode commElem : path ) {
-            if ( commElem instanceof HwMemory ) {
+        for (final HwCommunicationNode commElem : path) {
+            if (commElem instanceof HwMemory) {
                 reverse = true;
-                final String memoryInstName = namesGen.memoryInstanceName( (HwMemory) commElem );
+                final String memoryInstName = namesGen.memoryInstanceName((HwMemory) commElem);
                 slaves.str += ",static_cast<Slave*>(" + memoryInstName + "),static_cast<Slave*>(" + memoryInstName + ")";
                 firstNode = null;
                 // firstPart = "";
-            }
-            else {
-                if ( reverse ) {
-                    if ( firstNode == null ) {
+            } else {
+                if (reverse) {
+                    if (firstNode == null) {
                         //                    if ( firstPart.length()==0 ){
                         firstNode = commElem;
                         //                        firstPart=commElem.getName();
-                    }
-                    else {
-                        masters.str += "," + namesGen.busMasterInstanceName( commElem, 0, (HwBus) firstNode );
+                    } else {
+                        masters.str += "," + namesGen.busMasterInstanceName(commElem, 0, (HwBus) firstNode);
                         //                        masters.str += "," + commElem.getName() + "_" + firstPart + "_Master";
                         masterCount++;
-                        slaves.str += ",static_cast<Slave*>(" + namesGen.communicationNodeInstanceName( commElem, 0 ) + ")";
+                        slaves.str += ",static_cast<Slave*>(" + namesGen.communicationNodeInstanceName(commElem, 0) + ")";
                         firstNode = null;
                         //firstPart="";
                     }
-                }
-                else {
-                    if ( firstNode == null ) {
+                } else {
+                    if (firstNode == null) {
                         //                  if ( firstPart.length()==0 ){
                         firstNode = commElem;
-                        slaves.str += ",static_cast<Slave*>(" + namesGen.communicationNodeInstanceName( commElem, 0 ) + ")";
+                        slaves.str += ",static_cast<Slave*>(" + namesGen.communicationNodeInstanceName(commElem, 0) + ")";
                         //                        firstPart = commElem.getName();
                         //                        slaves.str+= ",static_cast<Slave*>(" + firstPart + ")";
-                    }
-                    else {
-                        masters.str += "," + namesGen.busMasterInstanceName( firstNode, 0, (HwBus) commElem);
+                    } else {
+                        masters.str += "," + namesGen.busMasterInstanceName(firstNode, 0, (HwBus) commElem);
                         //                        masters.str+= "," + firstPart + "_" + commElem.getName() + "_Master";
                         masterCount++;
                         firstNode = null;
@@ -679,19 +664,19 @@ public class DiploSimulatorCodeGenerator implements IDiploSimulatorCodeGenerator
             }
         }
 
-        if ( reverse ) {
-            masters.str += "," + namesGen.busMasterInstanceName( destNode, 0, (HwBus) firstNode );
+        if (reverse) {
+            masters.str += "," + namesGen.busMasterInstanceName(destNode, 0, (HwBus) firstNode);
             //            masters.str+= "," + destNode.getName() + "0_" + firstPart + "_Master";
 
-            return masterCount + 1 ;
+            return masterCount + 1;
         }
 
         slaves.str += ",static_cast<Slave*>(0)";
 
-        return - masterCount;
+        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();
@@ -700,8 +685,8 @@ public class DiploSimulatorCodeGenerator implements IDiploSimulatorCodeGenerator
         List<HwCommunicationNode> path = new LinkedList<HwCommunicationNode>();
         List<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);
             }
         }
@@ -712,99 +697,97 @@ public class DiploSimulatorCodeGenerator implements IDiploSimulatorCodeGenerator
         //            //TraceManager.addDev( "startNode: " + startNode.getName() );
         //        }
 
-        HwMemory memory = getMemConnectedToBusChannelMapped( commNodes, null, commElemToRoute );
+        HwMemory memory = getMemConnectedToBusChannelMapped(commNodes, null, commElemToRoute);
 
-        if( memory == null ) {
-            TraceManager.addDev( "no memories to map" );
-            exploreBuses( 0, commNodes, path, startNode, destNode, commElemToRoute );
-        }
-        else {
+        if (memory == null) {
+            //TraceManager.addDev("no memories to map");
+            exploreBuses(0, commNodes, path, startNode, destNode, commElemToRoute);
+        } else {
             final List<HwCommunicationNode> commNodes2 = new LinkedList<HwCommunicationNode>(commNodes);
 
-            if( !exploreBuses( 0, commNodes, path, startNode, memory, commElemToRoute ) )       {
-                TraceManager.addDev("NO route to " + memory.getName() + "found!!!!!!!!!!!!!!!!!!!!!!!!!!");
+            if (!exploreBuses(0, commNodes, path, startNode, memory, commElemToRoute)) {
+                //TraceManager.addDev("NO route to " + memory.getName() + "found!!!!!!!!!!!!!!!!!!!!!!!!!!");
             }
 
-            path.add( memory );
+            path.add(memory);
 
-            exploreBuses( 0, commNodes2, path, memory, destNode, commElemToRoute );
+            exploreBuses(0, commNodes2, path, memory, destNode, commElemToRoute);
         }
 
-        int hopNum = extractPath( path, masters, slaves, startNode, destNode, false );
+        int hopNum = extractPath(path, masters, slaves, startNode, destNode, false);
 
-        if ( hopNum < 0 ) {
-            hopNum = extractPath( path, masters, slaves, destNode, destNode, true ) - hopNum;
+        if (hopNum < 0) {
+            hopNum = extractPath(path, masters, slaves, destNode, destNode, true) - hopNum;
         }
 
-        TraceManager.addDev(commElemToRoute.getName() + " is mapped on:");
+        //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);
-        TraceManager.addDev("masters: " + masters.str);
-        TraceManager.addDev("slaves: " + slaves.str);
+        //TraceManager.addDev("number of elements: " + hopNum);
+        //TraceManager.addDev("masters: " + masters.str);
+        //TraceManager.addDev("slaves: " + slaves.str);
 
         return hopNum + ",array(" + hopNum + masters.str + "),array(" + hopNum + slaves.str + ")";
     }
 
-    private boolean exploreBuses(       final int depth,
-                                        final List<HwCommunicationNode> commNodes,
-                                        final List<HwCommunicationNode> path,
-                                        final HwNode startNode,
-                                        final HwNode destNode,
-                                        final TMLElement commElemToRoute ) {
+    private boolean exploreBuses(final int depth,
+                                 final List<HwCommunicationNode> commNodes,
+                                 final List<HwCommunicationNode> path,
+                                 final HwNode startNode,
+                                 final HwNode destNode,
+                                 final TMLElement commElemToRoute) {
         assert startNode != null : "Parameter 'startNode' should not be null.";
 
         //first called with Maping:getCommunicationNodes
         List<HwCommunicationNode> nodesToExplore;
-        TraceManager.addDev("No of comm nodes " + commNodes.size());
-        TraceManager.addDev("startNode=" + startNode);
+        //TraceManager.addDev("No of comm nodes " + commNodes.size());
+        //TraceManager.addDev("startNode=" + startNode);
         boolean busExploreMode = ((depth & 1) == 0);
 
-        if ( busExploreMode ) {
-            TraceManager.addDev("search for buses connected to " + startNode.getName());
-            nodesToExplore=getBusesConnectedToNode(commNodes, startNode);
-        }
-        else {
-            TraceManager.addDev("search for bridges connected to: " + startNode.getName());
-            nodesToExplore=getBridgesConnectedToBus(commNodes, (HwBus)startNode);
+        if (busExploreMode) {
+            //TraceManager.addDev("search for buses connected to " + startNode.getName());
+            nodesToExplore = getBusesConnectedToNode(commNodes, startNode);
+        } else {
+            //TraceManager.addDev("search for bridges connected to: " + startNode.getName());
+            nodesToExplore = getBridgesConnectedToBus(commNodes, (HwBus) startNode);
         }
 
-        TraceManager.addDev("no of elements found: " + nodesToExplore.size());
+        //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)){
-                    TraceManager.addDev(currNode.getName() + " is last node");
+                if (isBusConnectedToNode(currNode, destNode)) {
+                    //TraceManager.addDev(currNode.getName() + " is last node");
                     path.add(currNode);
                     //if (memory!=null) path.add(memory);
                     commNodes.remove(currNode);
                     return true;
                 }
             }
-            if(tmlmapping.isCommNodeMappedOn(commElemToRoute, currNode)){
-                TraceManager.addDev(currNode.getName() + " mapping found for " + commElemToRoute.getName());
+            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;
+            //TraceManager.addDev(currNode.getName());
+            if (exploreBuses(depth + 1, commNodes, path, currNode, destNode, commElemToRoute)) return true;
             path.remove(currNode);
             //if (memory!=null) path.remove(memory);
             commNodes.add(currNode);
@@ -812,55 +795,58 @@ public class DiploSimulatorCodeGenerator implements IDiploSimulatorCodeGenerator
         return false;
     }
 
-    private HwMemory getMemConnectedToBusChannelMapped( List<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(List<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 List<HwCommunicationNode> getBusesConnectedToNode(List<HwCommunicationNode> _commNodes, HwNode _node){
+    private List<HwCommunicationNode> getBusesConnectedToNode(List<HwCommunicationNode> _commNodes, HwNode _node) {
         List<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 List<HwCommunicationNode> getBridgesConnectedToBus( List<HwCommunicationNode> _commNodes, HwBus _bus){
+    private List<HwCommunicationNode> getBridgesConnectedToBus(List<HwCommunicationNode> _commNodes, HwBus _bus) {
         List<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;
     }
 
     private void generateTaskFiles(String path) throws FileException {
-        for(MappedSystemCTask mst: tasks) {
+        for (MappedSystemCTask mst : tasks) {
             mst.saveInFiles(path);
         }
     }
 
-    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/tmltranslator/tomappingsystemc2/MappedSystemCTask.java b/src/main/java/tmltranslator/tomappingsystemc2/MappedSystemCTask.java
index c8c37c6fc4368208234613366e89c4ee26767179..5364715b0570819854b5d04a890191432667a5cc 100644
--- a/src/main/java/tmltranslator/tomappingsystemc2/MappedSystemCTask.java
+++ b/src/main/java/tmltranslator/tomappingsystemc2/MappedSystemCTask.java
@@ -37,8 +37,6 @@
  */
 
 
-
-
 package tmltranslator.tomappingsystemc2;
 
 import myutil.Conversion;
@@ -56,8 +54,9 @@ import java.util.Set;
 /**
  * Class MappedSystemCTask
  * Creation: 24/11/2005
- * @version 1.0 24/11/2005
+ *
  * @author Daniel Knorreck
+ * @version 1.0 24/11/2005
  */
 public class MappedSystemCTask {
     //private TMLModeling tmlm;
@@ -69,13 +68,13 @@ public class MappedSystemCTask {
     private TMLMapping<?> tmlmapping;
     private int commentNum;
     private boolean debug;
-   // private boolean optimize;
+    // private boolean optimize;
     private StaticAnalysis _analysis;
-    private LiveVariableNode _startAnaNode=null;
+    private LiveVariableNode _startAnaNode = null;
 
     private final static String DOTH = ".h";
     private final static String DOTCPP = ".cpp";
-//    private final static String SYSTEM_INCLUDE = "#include \"systemc.h\"";
+    //    private final static String SYSTEM_INCLUDE = "#include \"systemc.h\"";
     private final static String CR = "\n";
     private final static String CR2 = "\n\n";
     private final static String SCCR = ";\n";
@@ -89,18 +88,18 @@ public class MappedSystemCTask {
         channels = _channels;
         events = _events;
         requests = _requests;
-        tmlmapping=_tmlmapping;
+        tmlmapping = _tmlmapping;
         reference = task.getName();
         cppcode = "";
         hcode = "";
-        initCommand="";
-        functions="";
-        chaining="";
-        firstCommand="";
-        functionSig="";
-        commentText="";
-        commentNum=0;
-       // optimize=false;
+        initCommand = "";
+        functions = "";
+        chaining = "";
+        firstCommand = "";
+        functionSig = "";
+        commentText = "";
+        commentNum = 0;
+        // optimize=false;
 
         _analysis = new StaticAnalysis(_task, _channels, _events, _requests, _depChannels);
         _startAnaNode = _analysis.startAnalysis();
@@ -119,14 +118,14 @@ public class MappedSystemCTask {
         //_startAnaNode = _analysis.startAnalysis();
         //_analysis.determineCheckpoints(aStatistics); //NEW
         debug = _debug;
-     //   optimize=_optimize;
+        //   optimize=_optimize;
         basicCPPCode();
         makeClassCode();
     }
 
     public void print() {
-        TraceManager.addDev("task: " + reference + DOTH + hcode);
-        TraceManager.addDev("task: " + reference + DOTCPP + cppcode);
+        //TraceManager.addDev("task: " + reference + DOTH + hcode);
+        //TraceManager.addDev("task: " + reference + DOTCPP + cppcode);
     }
 
 
@@ -144,16 +143,16 @@ public class MappedSystemCTask {
 
     // H-Code
     private String basicHCode() {
-        String code="";
+        String code = "";
         code += "#ifndef " + reference.toUpperCase() + "__H" + CR;
         code += "#define " + reference.toUpperCase() + "__H" + CR2;
         code += "#include <TMLTask.h>\n#include <definitions.h>\n\n";
         code += "#include <TMLbrbwChannel.h>\n#include <TMLbrnbwChannel.h>\n#include <TMLnbrnbwChannel.h>\n\n";
         code += "#include <TMLEventBChannel.h>\n#include <TMLEventFChannel.h>\n#include <TMLEventFBChannel.h>\n\n";
         code += "#include <TMLActionCommand.h>\n#include <TMLChoiceCommand.h>\n#include <TMLRandomChoiceCommand.h>\n#include <TMLExeciCommand.h>\n";
-        code += "#include <TMLSelectCommand.h>\n#include <TMLReadCommand.h>\n#include <TMLNotifiedCommand.h>\n#include<TMLExeciRangeCommand.h>\n";
+        code += "#include <TMLSelectCommand.h>\n#include <TMLReadCommand.h>\n#include <TMLNotifiedCommand.h>\n#include <TMLExeciRangeCommand.h>\n";
         code += "#include <TMLRequestCommand.h>\n#include <TMLSendCommand.h>\n#include <TMLWaitCommand.h>\n";
-        code += "#include <TMLWriteCommand.h>\n#include <TMLStopCommand.h>\n#include<TMLWriteMultCommand.h>\n#include <TMLRandomCommand.h>\n\n";
+        code += "#include <TMLWriteCommand.h>\n#include <TMLStopCommand.h>\n#include <TMLWriteMultCommand.h>\n#include <TMLRandomCommand.h>\n\n";
         code += "extern \"C\" bool condFunc(TMLTask* _ioTask_);\n";
         return code;
     }
@@ -166,61 +165,61 @@ public class MappedSystemCTask {
         cppcode += "#include <" + reference + DOTH + ">" + CR2;
     }
 
-    private void makeClassCode(){
+    private void makeClassCode() {
         makeHeaderClassH();
         makeEndClassH();
 
-        cppcode+=reference+ "::" + makeConstructorSignature()+":TMLTask(iID, iPriority,iName,iCPUs,iNumOfCPUs)"+ CR + makeAttributesCode();
-        cppcode+=initCommand + CR + "{" + CR;
-        if (commentNum!=0) cppcode+= "_comment = new std::string[" + commentNum + "]" + SCCR + commentText + CR;
-        cppcode+= "//generate task variable look-up table"+ CR;
-        for(TMLAttribute att: task.getAttributes()) {
+        cppcode += reference + "::" + makeConstructorSignature() + ":TMLTask(iID, iPriority,iName,iCPUs,iNumOfCPUs)" + CR + makeAttributesCode();
+        cppcode += initCommand + CR + "{" + CR;
+        if (commentNum != 0) cppcode += "_comment = new std::string[" + commentNum + "]" + SCCR + commentText + CR;
+        cppcode += "//generate task variable look-up table" + CR;
+        for (TMLAttribute att : task.getAttributes()) {
             //att = (TMLAttribute)(iterator.next());
             //code += TMLType.getStringType(att.type.getType()) + " " + att.name;
-            cppcode += "_varLookUpName[\"" + att.name + "\"]=&" + att.name +SCCR;
-            cppcode += "_varLookUpID[" + att.getID() + "]=&" + att.name +SCCR;
+            cppcode += "_varLookUpName[\"" + att.name + "\"]=&" + att.name + SCCR;
+            cppcode += "_varLookUpID[" + att.getID() + "]=&" + att.name + SCCR;
         }
         cppcode += "_varLookUpName[\"rnd__0\"]=&rnd__0" + SCCR + CR;
-        cppcode+= "//set blocked read task/set blocked write task"+ CR;
-        for(TMLChannel ch: channels) {
-            if (ch.getOriginTask()==task)
-                cppcode+=ch.getExtendedName() + "->setBlockedWriteTask(this)"+SCCR;
+        cppcode += "//set blocked read task/set blocked write task" + CR;
+        for (TMLChannel ch : channels) {
+            if (ch.getOriginTask() == task)
+                cppcode += ch.getExtendedName() + "->setBlockedWriteTask(this)" + SCCR;
             else
-                cppcode+=ch.getExtendedName() + "->setBlockedReadTask(this)"+SCCR;
+                cppcode += ch.getExtendedName() + "->setBlockedReadTask(this)" + SCCR;
         }
-        for(TMLEvent evt: events) {
-            if (evt.getOriginTask()==task)
-                cppcode+=evt.getExtendedName() + "->setBlockedWriteTask(this)"+SCCR;
+        for (TMLEvent evt : events) {
+            if (evt.getOriginTask() == task)
+                cppcode += evt.getExtendedName() + "->setBlockedWriteTask(this)" + SCCR;
             else
-                cppcode+=evt.getExtendedName() + "->setBlockedReadTask(this)"+SCCR;
+                cppcode += evt.getExtendedName() + "->setBlockedReadTask(this)" + SCCR;
         }
-        if (task.isRequested()) cppcode+="requestChannel->setBlockedReadTask(this)" +SCCR;
-        for(TMLRequest req: requests) {
-            if (req.isAnOriginTask(task)) cppcode+=req.getExtendedName() + "->setBlockedWriteTask(this)" +SCCR;
+        if (task.isRequested()) cppcode += "requestChannel->setBlockedReadTask(this)" + SCCR;
+        for (TMLRequest req : requests) {
+            if (req.isAnOriginTask(task)) cppcode += req.getExtendedName() + "->setBlockedWriteTask(this)" + SCCR;
         }
-        cppcode+=CR + "//command chaining"+ CR;
-        cppcode+= chaining + "_currCommand=" + firstCommand + SCCR + "_firstCommand=" + firstCommand +SCCR + CR;
-        int aSeq=0;
-        for(TMLChannel ch: channels) {
-            cppcode+= "_channels[" + aSeq + "] = " + ch.getExtendedName() + SCCR;
+        cppcode += CR + "//command chaining" + CR;
+        cppcode += chaining + "_currCommand=" + firstCommand + SCCR + "_firstCommand=" + firstCommand + SCCR + CR;
+        int aSeq = 0;
+        for (TMLChannel ch : channels) {
+            cppcode += "_channels[" + aSeq + "] = " + ch.getExtendedName() + SCCR;
             aSeq++;
         }
-        for(TMLEvent evt: events) {
-            cppcode+= "_channels[" + aSeq + "] = " + evt.getExtendedName() + SCCR;
+        for (TMLEvent evt : events) {
+            cppcode += "_channels[" + aSeq + "] = " + evt.getExtendedName() + SCCR;
             aSeq++;
         }
-        if (task.isRequested()){
-            cppcode+= "_channels[" + aSeq + "] = requestChannel" + SCCR;
+        if (task.isRequested()) {
+            cppcode += "_channels[" + aSeq + "] = requestChannel" + SCCR;
         }
-        TMLActivityElement currElem=task.getActivityDiagram().getFirst();
+        TMLActivityElement currElem = task.getActivityDiagram().getFirst();
         LiveVariableNode currNode;
-        do{
+        do {
             currNode = _analysis.getLiveVarNodeByCommand(currElem);
-	    TraceManager.addDev("currElem=" + currElem);
+            //TraceManager.addDev("currElem=" + currElem);
             currElem = currElem.getNextElement(0);
-        }while (currNode==null && currElem!=null);
-        if (currNode!=null) cppcode+= "refreshStateHash(" + currNode.getStartLiveVariableString() + ")" +SCCR;
-        cppcode+="}"+ CR2 + functions; // + makeDestructor();
+        } while (currNode == null && currElem != null);
+        if (currNode != null) cppcode += "refreshStateHash(" + currNode.getStartLiveVariableString() + ")" + SCCR;
+        cppcode += "}" + CR2 + functions; // + makeDestructor();
         hcode = Conversion.indentString(hcode, 4);
         cppcode = Conversion.indentString(cppcode, 4);
     }
@@ -231,27 +230,27 @@ public class MappedSystemCTask {
 //        return dest+"}"+CR;
 //    }
 
-    private String makeConstructorSignature(){
-        String constSig=reference+ "(ID iID, Priority iPriority, std::string iName, CPU** iCPUs, unsigned int iNumOfCPUs"+CR;
-        for(TMLChannel ch: channels) {
-            constSig+=", TMLChannel* "+ ch.getExtendedName() + CR;
+    private String makeConstructorSignature() {
+        String constSig = reference + "(ID iID, Priority iPriority, std::string iName, CPU** iCPUs, unsigned int iNumOfCPUs" + CR;
+        for (TMLChannel ch : channels) {
+            constSig += ", TMLChannel* " + ch.getExtendedName() + CR;
         }
-        for(TMLEvent evt: events) {
-            constSig+=", TMLEventChannel* "+ evt.getExtendedName() +CR;
+        for (TMLEvent evt : events) {
+            constSig += ", TMLEventChannel* " + evt.getExtendedName() + CR;
         }
-        for(TMLRequest req: requests) {
+        for (TMLRequest req : requests) {
             //if (req.isAnOriginTask(task)) constSig+=", TMLEventBChannel* " + req.getExtendedName() + CR;
-            if (req.isAnOriginTask(task)) constSig+=", TMLEventChannel* " + req.getExtendedName() + CR;
+            if (req.isAnOriginTask(task)) constSig += ", TMLEventChannel* " + req.getExtendedName() + CR;
         }
-        if (task.isRequested()){
+        if (task.isRequested()) {
             //constSig+=", TMLEventBChannel* requestChannel"+CR;
-            constSig+=", TMLEventChannel* requestChannel"+CR;
+            constSig += ", TMLEventChannel* requestChannel" + CR;
         }
-        return constSig+")";
+        return constSig + ")";
     }
 
     private void makeHeaderClassH() {
-        String hcodeBegin="";
+        String hcodeBegin = "";
         hcodeBegin = "class " + reference + ": public TMLTask {" + CR;
         hcodeBegin += "private:" + CR;
 
@@ -259,30 +258,30 @@ public class MappedSystemCTask {
 
         if (task.isRequested()) {
             int params = task.getRequest().getNbOfParams();
-            firstCommand="_waitOnRequest";
-            hcode+="TMLWaitCommand " + firstCommand + SCCR;
-            initCommand+= "," + firstCommand + "(" + task.getActivityDiagram().getFirst().getID() + ",this,requestChannel,";
-            if (params==0){
-                initCommand+= "0,"+ getFormattedLiveVarStr(_startAnaNode) + ")" + CR;
-            }else{
-                initCommand+= "(ParamFuncPointer)&" + reference + "::" + "waitOnRequest_func," + getFormattedLiveVarStr(_startAnaNode)  + ")" + CR;
+            firstCommand = "_waitOnRequest";
+            hcode += "TMLWaitCommand " + firstCommand + SCCR;
+            initCommand += "," + firstCommand + "(" + task.getActivityDiagram().getFirst().getID() + ",this,requestChannel,";
+            if (params == 0) {
+                initCommand += "0," + getFormattedLiveVarStr(_startAnaNode) + ")" + CR;
+            } else {
+                initCommand += "(ParamFuncPointer)&" + reference + "::" + "waitOnRequest_func," + getFormattedLiveVarStr(_startAnaNode) + ")" + CR;
                 //functionSig+="Parameter<ParamType>* waitOnRequest_func(Parameter<ParamType>* ioParam)" + SCCR;
                 //functions+="Parameter<ParamType>* " + reference + "::waitOnRequest_func(Parameter<ParamType>* ioParam){" + CR;
 
-                functionSig+="Parameter* waitOnRequest_func(Parameter* ioParam)" + SCCR;
-                functions+="Parameter* " + reference + "::waitOnRequest_func(Parameter* ioParam){" + CR;
-                functions+= "ioParam->getP(&arg1__req";
-                for (int i=1; i<params; i++){
-                    functions+= ", &arg" + (i+1) + "__req";
+                functionSig += "Parameter* waitOnRequest_func(Parameter* ioParam)" + SCCR;
+                functions += "Parameter* " + reference + "::waitOnRequest_func(Parameter* ioParam){" + CR;
+                functions += "ioParam->getP(&arg1__req";
+                for (int i = 1; i < params; i++) {
+                    functions += ", &arg" + (i + 1) + "__req";
                 }
-                functions+=")" + SCCR + "return 0" + SCCR;
-                functions+="}\n\n";
+                functions += ")" + SCCR + "return 0" + SCCR;
+                functions += "}\n\n";
             }
-            String xx = firstCommand + ".setNextCommand(array(1,(TMLCommand*)" + makeCommands(task.getActivityDiagram().getFirst(),false,"&"+firstCommand,null) + "))"+ SCCR;
-            firstCommand="&"+firstCommand;
-            chaining+=xx;
-        }else{
-            firstCommand=makeCommands(task.getActivityDiagram().getFirst(),false,"0",null);
+            String xx = firstCommand + ".setNextCommand(array(1,(TMLCommand*)" + makeCommands(task.getActivityDiagram().getFirst(), false, "&" + firstCommand, null) + "))" + SCCR;
+            firstCommand = "&" + firstCommand;
+            chaining += xx;
+        } else {
+            firstCommand = makeCommands(task.getActivityDiagram().getFirst(), false, "0", null);
         }
 
         hcode = basicHCode() + hcodeBegin + makeAttributesDeclaration() + CR + hcode;
@@ -295,69 +294,73 @@ public class MappedSystemCTask {
         makeSerializableFuncs();
     }
 
-    private void makeSerializableFuncs(){
+    private void makeSerializableFuncs() {
         hcode += "std::istream& readObject(std::istream& i_stream_var)" + SCCR;
         hcode += "std::ostream& writeObject(std::ostream& i_stream_var)" + SCCR;
         //hcode += "unsigned long getStateHash() const" + SCCR;
-        functions+= "std::istream& " + reference + "::readObject(std::istream& i_stream_var){\n";
-        for (TMLAttribute att:task.getAttributes()){
+        functions += "std::istream& " + reference + "::readObject(std::istream& i_stream_var){\n";
+        for (TMLAttribute att : task.getAttributes()) {
             //att = (TMLAttribute)(iterator.next());
             functions += "READ_STREAM(i_stream_var," + att.name + ")" + SCCR;
             functions += "#ifdef DEBUG_SERIALIZE\n";
-            functions += "std::cout << \"Read: Variable " + att.name + " \" << " + att.name +  " << std::endl" + SCCR;
+            functions += "std::cout << \"Read: Variable " + att.name + " \" << " + att.name + " << std::endl" + SCCR;
             functions += "#endif\n";
         }
-        functions+= "TMLTask::readObject(i_stream_var);\nreturn i_stream_var;\n}\n\n";
-        functions+= "std::ostream& " + reference + "::writeObject(std::ostream& i_stream_var){\n";
-        for (TMLAttribute att:task.getAttributes()){
+        functions += "TMLTask::readObject(i_stream_var);\nreturn i_stream_var;\n}\n\n";
+        functions += "std::ostream& " + reference + "::writeObject(std::ostream& i_stream_var){\n";
+        for (TMLAttribute att : task.getAttributes()) {
             functions += "WRITE_STREAM(i_stream_var," + att.name + ")" + SCCR;
             functions += "#ifdef DEBUG_SERIALIZE\n";
-            functions += "std::cout << \"Write: Variable " + att.name + " \" << " + att.name +  " << std::endl" + SCCR;
+            functions += "std::cout << \"Write: Variable " + att.name + " \" << " + att.name + " << std::endl" + SCCR;
             functions += "#endif\n";
         }
-        functions+= "TMLTask::writeObject(i_stream_var);\nreturn i_stream_var;\n}\n\n";
+        functions += "TMLTask::writeObject(i_stream_var);\nreturn i_stream_var;\n}\n\n";
         hcode += "void reset()" + SCCR;
-        functions+= "void "+reference + "::reset(){\nTMLTask::reset();\n";
-        for (TMLAttribute att:task.getAttributes()){
+        functions += "void " + reference + "::reset(){\nTMLTask::reset();\n";
+        for (TMLAttribute att : task.getAttributes()) {
             functions += att.name + "=";
             if (att.hasInitialValue())
                 functions += att.initialValue + SCCR;
             else
                 functions += "0" + SCCR;
         }
-        functions+= "}\n\n";
+        functions += "}\n\n";
         /*hcode += "void refreshStateHash(const char* iLiveVarList);\n";
           functions+= "void " + reference + "::refreshStateHash(const char* iLiveVarList){\n";
           int aSeq=0;
           functions += "_stateHash.init((HashValueType)_ID,30);\nif(iLiveVarList!=0){\n";*/
         hcode += "HashValueType getStateHash();\n";
-        functions+= "HashValueType " + reference + "::getStateHash(){\n";
-        int aSeq=0;
+        functions += "HashValueType " + reference + "::getStateHash(){\n";
+        int aSeq = 0;
         //functions += "if(_liveVarList!=0 && _hashInvalidated){\n";
         functions += "if(_hashInvalidated){\n";
         functions += "_hashInvalidated=false;\n_stateHash.init((HashValueType)_ID,30);\n";
         functions += "if(_liveVarList!=0){\n";
-        for(TMLAttribute att: task.getAttributes()) {
+        for (TMLAttribute att : task.getAttributes()) {
             functions += "if ((_liveVarList[" + (aSeq >>> 3) + "] & " + (1 << (aSeq & 0x7)) + ")!=0) _stateHash.addValue(" + att.getName() + ");\n";
             //functions += "_stateHash.addValue(" + att.getName() + ");\n";
             aSeq++;
         }
-        int i=0;
+        int i = 0;
         //for channels: include hash only if performed action is blocking
         //for events: include filling level for senders (notified possible), include parameters for readers (if parameters set)
-        for(TMLChannel ch: channels) {
-            if (ch.getType()==TMLChannel.BRBW || (ch.getType()==TMLChannel.BRNBW && ch.getDestinationTask()==task)) functions += "_channels[" + i +"]->setSignificance(this, " + "((_liveVarList[" + (aSeq >>> 3) + "] & " + (1 << (aSeq & 0x7)) + ")!=0));\n";
+        for (TMLChannel ch : channels) {
+            if (ch.getType() == TMLChannel.BRBW || (ch.getType() == TMLChannel.BRNBW && ch.getDestinationTask() == task))
+                functions += "_channels[" + i + "]->setSignificance(this, " + "((_liveVarList[" + (aSeq >>> 3) + "] & " + (1 << (aSeq & 0x7)) + ")!=0));\n";
             //if (ch.getType()==TMLChannel.BRBW || (ch.getType()==TMLChannel.BRNBW && ch.getDestinationTask()==task)) functions += "_channels[" + i +"]->setSignificance(this, true);\n";
 
-            aSeq++; i++;
+            aSeq++;
+            i++;
         }
-        for(TMLEvent evt: events) {
-            if (evt.isBlocking() || evt.getDestinationTask()==task) functions += " _channels[" + i +"]->setSignificance(this, " + "((_liveVarList[" + (aSeq >>> 3) + "] & " + (1 << (aSeq & 0x7)) + ")!=0));\n";
+        for (TMLEvent evt : events) {
+            if (evt.isBlocking() || evt.getDestinationTask() == task)
+                functions += " _channels[" + i + "]->setSignificance(this, " + "((_liveVarList[" + (aSeq >>> 3) + "] & " + (1 << (aSeq & 0x7)) + ")!=0));\n";
             //if (evt.isBlocking() || evt.getDestinationTask()==task) functions += " _channels[" + i +"]->setSignificance(this, true);\n";
-            aSeq++; i++;
+            aSeq++;
+            i++;
         }
-        if (task.isRequested()){
-            functions += " _channels[" + i +"]->setSignificance(this, " + "((_liveVarList[" + (aSeq >>> 3) + "] & " + (1 << (aSeq & 0x7)) + ")!=0));\n";
+        if (task.isRequested()) {
+            functions += " _channels[" + i + "]->setSignificance(this, " + "((_liveVarList[" + (aSeq >>> 3) + "] & " + (1 << (aSeq & 0x7)) + ")!=0));\n";
             //functions += " _channels[" + i +"]->setSignificance(this, true);\n";
         }
         /*for(i=0; i< channels.size() + events.size() + (task.isRequested()? 1:0) ; i++){
@@ -368,165 +371,172 @@ public class MappedSystemCTask {
         functions += "}\n}\nreturn _stateHash.getHash();\n}\n\n";
     }
 
-    private String getFormattedLiveVarStr(TMLActivityElement currElem){
+    private String getFormattedLiveVarStr(TMLActivityElement currElem) {
         return getFormattedLiveVarStr(_analysis.getLiveVarNodeByCommand(currElem));
         //return getFormattedLiveVarStr((LiveVariableNode)null);
     }
 
-    private String getFormattedLiveVarStr(LiveVariableNode currNode){
-        if (currNode==null){
+    private String getFormattedLiveVarStr(LiveVariableNode currNode) {
+        if (currNode == null) {
             return "0, false";
-        }else{
-            String checkpoint = (currNode.isCheckpoint())? "true":"false";
+        } else {
+            String checkpoint = (currNode.isCheckpoint()) ? "true" : "false";
             //String checkpoint = "true";
             return currNode.getLiveVariableString() + "," + checkpoint;
         }
     }
 
 
+    private String makeCommands(TMLActivityElement currElem, boolean skip, String retElement, String retElseElement) {
+        String nextCommand = "", cmdName = "";
 
-    private String makeCommands(TMLActivityElement currElem, boolean skip, String retElement, String retElseElement){
-        String nextCommand="",cmdName="";
-
-        if (skip) return makeCommands(currElem.getNextElement(0), false,retElement,null);
+        if (skip) return makeCommands(currElem.getNextElement(0), false, retElement, null);
 
-        if (currElem==null){
-            if (debug) TraceManager.addDev("Checking null\n");
+        if (currElem == null) {
+            if (debug) {
+                //TraceManager.addDev("Checking null\n");
+            }
             return retElement;
         }
 
-        if (debug) TraceManager.addDev("Checking " + currElem.getName() + CR);
+        if (debug) {
+            //TraceManager.addDev("Checking " + currElem.getName() + CR);
+        }
 
         if (currElem instanceof TMLStartState) {
-            if (debug) TraceManager.addDev("Checking Start\n");
-            return makeCommands(currElem.getNextElement(0), false,retElement,null);
+            //if (debug) TraceManager.addDev("Checking Start\n");
+            return makeCommands(currElem.getNextElement(0), false, retElement, null);
 
-        } else if (currElem instanceof TMLStopState){
+        } else if (currElem instanceof TMLStopState) {
             //add stop state if (retElement.equals("0"))
-            if (debug) TraceManager.addDev("Checking Stop\n");
-            if (retElement.equals("0")){
-                cmdName= "_stop" + currElem.getID();
-                hcode+="TMLStopCommand " + cmdName + SCCR;
-                initCommand+= "," + cmdName + "(" + currElem.getID() + ",this)" + CR;
-            }else
+            if (debug) {
+                //TraceManager.addDev("Checking Stop\n");
+            }
+            if (retElement.equals("0")) {
+                cmdName = "_stop" + currElem.getID();
+                hcode += "TMLStopCommand " + cmdName + SCCR;
+                initCommand += "," + cmdName + "(" + currElem.getID() + ",this)" + CR;
+            } else
                 return retElement;
 
-        }else if (currElem instanceof TMLRandom){
-            if (debug) TraceManager.addDev("Checking Random\n");
-            cmdName= "_random" + currElem.getID();
-            TMLRandom random = (TMLRandom)currElem;
-            hcode+="TMLRandomCommand " + cmdName + SCCR;
-            initCommand+= "," + cmdName + "("+ currElem.getID() + ",this," + makeCommandRangeFunc(cmdName, random.getMinValue(), random.getMaxValue()) + ",&" + random.getVariable() + "," + getFormattedLiveVarStr(currElem) + ")"+CR;
-            nextCommand= cmdName + ".setNextCommand(array(1,(TMLCommand*)" + makeCommands(currElem.getNextElement(0),false,retElement,null) + "));\n";
+        } else if (currElem instanceof TMLRandom) {
+            if (debug) {
+                //TraceManager.addDev("Checking Random\n");
+            }
+            cmdName = "_random" + currElem.getID();
+            TMLRandom random = (TMLRandom) currElem;
+            hcode += "TMLRandomCommand " + cmdName + SCCR;
+            initCommand += "," + cmdName + "(" + currElem.getID() + ",this," + makeCommandRangeFunc(cmdName, random.getMinValue(), random.getMaxValue()) + ",&" + random.getVariable() + "," + getFormattedLiveVarStr(currElem) + ")" + CR;
+            nextCommand = cmdName + ".setNextCommand(array(1,(TMLCommand*)" + makeCommands(currElem.getNextElement(0), false, retElement, null) + "));\n";
             //functions+="void "+ reference + "::" + cmdName + "_func(ParamType& oMin, ParamType& oMax){\n oMin=" + modifyString(random.getMinValue()) + ";\noMax=" + modifyString(random.getMaxValue()) + SCCR;
             //functions+= "}" + CR2;
             //functionSig+="void " + cmdName + "_func(ParamType & oMin, ParamType& oMax)" + SCCR;
 
-        } else if (currElem instanceof TMLActionState || currElem instanceof TMLDelay){
-            String action,comment;
-            if (currElem instanceof TMLActionState){
-                if (debug) TraceManager.addDev("Checking Action\n");
-                action = formatAction(((TMLActionState)currElem).getAction());
-                comment=action;
-            }else{
-                if (debug) TraceManager.addDev("Checking Delay\n");
+        } else if (currElem instanceof TMLActionState || currElem instanceof TMLDelay) {
+            String action, comment;
+            if (currElem instanceof TMLActionState) {
+                //if (debug) TraceManager.addDev("Checking Action\n");
+                action = formatAction(((TMLActionState) currElem).getAction());
+                comment = action;
+            } else {
+                //if (debug) TraceManager.addDev("Checking Delay\n");
                 int masterClockFreq = tmlmapping.getTMLArchitecture().getMasterClockFrequency();
-                TMLDelay delay=(TMLDelay)currElem;
+                TMLDelay delay = (TMLDelay) currElem;
                 action = "TMLTime tmpDelayxy = " + delay.getMaxDelay() + "*" + masterClockFreq + delay.getMasterClockFactor() + ";";
-                comment=action;
-                action+= "\nif (tmpDelayxy==0) tmpDelayxy=1;\n";
-                if (delay.getMinDelay().equals(delay.getMaxDelay())){
+                comment = action;
+                action += "\nif (tmpDelayxy==0) tmpDelayxy=1;\n";
+                if (delay.getMinDelay().equals(delay.getMaxDelay())) {
                     action += "_endLastTransaction+=tmpDelayxy";
-                }else{
+                } else {
                     action += "TMLTime tmpDelayxx = " + delay.getMinDelay() + "*" + masterClockFreq + delay.getMasterClockFactor() + ";\nif (tmpDelayxx==0) tmpDelayxx=1;\n";
                     action += "_endLastTransaction+=myrand(tmpDelayxx,tmpDelayxy)";
                 }
             }
             //cmdName= "_action" + currElem.getID();
-            String elemName=currElem.getName(), idString;
-            if (elemName.charAt(0)=='#'){
-                int pos=elemName.indexOf('\\');
-                idString=elemName.substring(1,pos);
+            String elemName = currElem.getName(), idString;
+            if (elemName.charAt(0) == '#') {
+                int pos = elemName.indexOf('\\');
+                idString = elemName.substring(1, pos);
                 //TraceManager.addDev(elemName + "***" + pos + "***" + idString + "***"+ elemName.length());
-                cmdName="_" + elemName.substring(pos+1) + idString;
-            }else{
-                cmdName= "_action" + currElem.getID();
-                idString=String.valueOf(currElem.getID());
+                cmdName = "_" + elemName.substring(pos + 1) + idString;
+            } else {
+                cmdName = "_action" + currElem.getID();
+                idString = String.valueOf(currElem.getID());
             }
-            hcode+="TMLActionCommand " + cmdName + SCCR;
-            initCommand+= "," + cmdName + "("+ idString + ",this,(ActionFuncPointer)&" + reference + "::" + cmdName + "_func, " + getFormattedLiveVarStr(currElem) +  ")"+CR;
-            nextCommand= cmdName + ".setNextCommand(array(1,(TMLCommand*)" + makeCommands(currElem.getNextElement(0),false,retElement,null) + "));\n";
-            functions+="void "+ reference + "::" + cmdName + "_func(){\n#ifdef ADD_COMMENTS\naddComment(new Comment(_endLastTransaction,0," + commentNum + "));\n#endif\n" + modifyString(addSemicolonIfNecessary(action)) + CR;
+            hcode += "TMLActionCommand " + cmdName + SCCR;
+            initCommand += "," + cmdName + "(" + idString + ",this,(ActionFuncPointer)&" + reference + "::" + cmdName + "_func, " + getFormattedLiveVarStr(currElem) + ")" + CR;
+            nextCommand = cmdName + ".setNextCommand(array(1,(TMLCommand*)" + makeCommands(currElem.getNextElement(0), false, retElement, null) + "));\n";
+            functions += "void " + reference + "::" + cmdName + "_func(){\n#ifdef ADD_COMMENTS\naddComment(new Comment(_endLastTransaction,0," + commentNum + "));\n#endif\n" + modifyString(addSemicolonIfNecessary(action)) + CR;
             //functions+="return 0"+ SCCR;
-            functions+= "}" + CR2;
-            commentText+="_comment[" + commentNum + "]=std::string(\"Action " + comment + "\");\n";
+            functions += "}" + CR2;
+            commentText += "_comment[" + commentNum + "]=std::string(\"Action " + comment + "\");\n";
             commentNum++;
-            functionSig+="void " + cmdName + "_func()" + SCCR;
+            functionSig += "void " + cmdName + "_func()" + SCCR;
 
-        } else if (currElem instanceof TMLExecI){
-            if (debug) TraceManager.addDev("Checking Execi\n");
-            cmdName= "_execi" + currElem.getID();
-            hcode+="TMLExeciCommand " + cmdName + SCCR;
+        } else if (currElem instanceof TMLExecI) {
+            //if (debug) TraceManager.addDev("Checking Execi\n");
+            cmdName = "_execi" + currElem.getID();
+            hcode += "TMLExeciCommand " + cmdName + SCCR;
             //initCommand+= "," + cmdName + "(this,"+ ((TMLExecI)currElem).getAction() + ",0,0)"+CR;
-            if (isIntValue(((TMLExecI)currElem).getAction()))
-                initCommand+= "," + cmdName + "(" + currElem.getID() + ",this,0,0," + ((TMLExecI)currElem).getAction() + "," + getFormattedLiveVarStr(currElem) + ")" + CR;
+            if (isIntValue(((TMLExecI) currElem).getAction()))
+                initCommand += "," + cmdName + "(" + currElem.getID() + ",this,0,0," + ((TMLExecI) currElem).getAction() + "," + getFormattedLiveVarStr(currElem) + ")" + CR;
             else
-                initCommand+= "," + cmdName + "(" + currElem.getID() + ",this," + makeCommandLenFunc(cmdName, ((TMLExecI)currElem).getAction(), null) + ",0,1," + getFormattedLiveVarStr(currElem) + ")" + CR;
-            nextCommand= cmdName + ".setNextCommand(array(1,(TMLCommand*)" + makeCommands(currElem.getNextElement(0),false,retElement,null) + "))"+ SCCR;
-
-        } else if (currElem instanceof TMLExecC){
-            if (debug) TraceManager.addDev("Checking ExecC\n");
-            cmdName= "_execc" + currElem.getID();
-            hcode+="TMLExeciCommand " + cmdName + SCCR;
-            if (isIntValue(((TMLExecC)currElem).getAction()))
-                initCommand+= "," + cmdName + "(" + currElem.getID() + ",this,0,1," + ((TMLExecC)currElem).getAction() + "," + getFormattedLiveVarStr(currElem) + ")" + CR;
+                initCommand += "," + cmdName + "(" + currElem.getID() + ",this," + makeCommandLenFunc(cmdName, ((TMLExecI) currElem).getAction(), null) + ",0,1," + getFormattedLiveVarStr(currElem) + ")" + CR;
+            nextCommand = cmdName + ".setNextCommand(array(1,(TMLCommand*)" + makeCommands(currElem.getNextElement(0), false, retElement, null) + "))" + SCCR;
+
+        } else if (currElem instanceof TMLExecC) {
+            //if (debug) TraceManager.addDev("Checking ExecC\n");
+            cmdName = "_execc" + currElem.getID();
+            hcode += "TMLExeciCommand " + cmdName + SCCR;
+            if (isIntValue(((TMLExecC) currElem).getAction()))
+                initCommand += "," + cmdName + "(" + currElem.getID() + ",this,0,1," + ((TMLExecC) currElem).getAction() + "," + getFormattedLiveVarStr(currElem) + ")" + CR;
             else
-                initCommand+= "," + cmdName + "("+ currElem.getID() + ",this,"+ makeCommandLenFunc(cmdName, ((TMLExecC)currElem).getAction(), null) + ",1,1," + getFormattedLiveVarStr(currElem) + ")"+CR;
+                initCommand += "," + cmdName + "(" + currElem.getID() + ",this," + makeCommandLenFunc(cmdName, ((TMLExecC) currElem).getAction(), null) + ",1,1," + getFormattedLiveVarStr(currElem) + ")" + CR;
 
-            nextCommand= cmdName + ".setNextCommand(array(1,(TMLCommand*)" + makeCommands(currElem.getNextElement(0),false,retElement,null) + "))"+ SCCR;
+            nextCommand = cmdName + ".setNextCommand(array(1,(TMLCommand*)" + makeCommands(currElem.getNextElement(0), false, retElement, null) + "))" + SCCR;
 
-        } else if (currElem instanceof TMLExecIInterval){
+        } else if (currElem instanceof TMLExecIInterval) {
             /*if (debug) TraceManager.addDev("Checking ExeciInterv\n");
               cmdName= "_execi" + currElem.getID();
               hcode+="TMLExeciCommand " + cmdName + SCCR;
               //initCommand+= "," + cmdName + "(this,"+ ((TMLExecIInterval)currElem).getMinDelay()+ "," + ((TMLExecIInterval)currElem).getMaxDelay() + ",0)"+CR;
               initCommand+= "," + cmdName + "("+currElem.getID()+",this,"+ makeCommandLenFunc(cmdName, ((TMLExecIInterval)currElem).getMinDelay(), ((TMLExecIInterval)currElem).getMaxDelay()) + ",0,1," + getFormattedLiveVarStr(currElem) + ")" +CR;
               nextCommand= cmdName + ".setNextCommand(array(1,(TMLCommand*)" + makeCommands(currElem.getNextElement(0),false,retElement,null) + "))"+ SCCR;*/
-            if (debug) TraceManager.addDev("Checking ExeciInterv\n");
-            cmdName= "_execi" + currElem.getID();
-            hcode+="TMLExeciRangeCommand " + cmdName + SCCR;
-            initCommand+= "," + cmdName + "("+currElem.getID()+",this,"+ makeCommandRangeFunc(cmdName, ((TMLExecIInterval)currElem).getMinDelay(), ((TMLExecIInterval)currElem).getMaxDelay()) + ",0," + getFormattedLiveVarStr(currElem) + ")" +CR;
-            nextCommand= cmdName + ".setNextCommand(array(1,(TMLCommand*)" + makeCommands(currElem.getNextElement(0),false,retElement,null) + "))"+ SCCR;
-
-        } else if (currElem instanceof TMLExecCInterval){
-            if (debug) TraceManager.addDev("Checking ExecCInterv\n");
-            cmdName= "_execc" + currElem.getID();
-            hcode+="TMLExeciCommand " + cmdName + SCCR;
+            //if (debug) TraceManager.addDev("Checking ExeciInterv\n");
+            cmdName = "_execi" + currElem.getID();
+            hcode += "TMLExeciRangeCommand " + cmdName + SCCR;
+            initCommand += "," + cmdName + "(" + currElem.getID() + ",this," + makeCommandRangeFunc(cmdName, ((TMLExecIInterval) currElem).getMinDelay(), ((TMLExecIInterval) currElem).getMaxDelay()) + ",0," + getFormattedLiveVarStr(currElem) + ")" + CR;
+            nextCommand = cmdName + ".setNextCommand(array(1,(TMLCommand*)" + makeCommands(currElem.getNextElement(0), false, retElement, null) + "))" + SCCR;
+
+        } else if (currElem instanceof TMLExecCInterval) {
+            //if (debug) TraceManager.addDev("Checking ExecCInterv\n");
+            cmdName = "_execc" + currElem.getID();
+            hcode += "TMLExeciCommand " + cmdName + SCCR;
             //initCommand+= "," + cmdName + "(this,"+ ((TMLExecIInterval)currElem).getMinDelay()+ "," + ((TMLExecIInterval)currElem).getMaxDelay() + ",1)"+CR;
-            initCommand+= "," + cmdName + "("+currElem.getID()+",this,"+ makeCommandLenFunc(cmdName, ((TMLExecCInterval)currElem).getMinDelay(), ((TMLExecCInterval)currElem).getMaxDelay()) + ",1,1," + getFormattedLiveVarStr(currElem) + ")"+CR;
-            nextCommand= cmdName + ".setNextCommand(array(1,(TMLCommand*)" + makeCommands(currElem.getNextElement(0),false,retElement,null) + "))"+ SCCR;
+            initCommand += "," + cmdName + "(" + currElem.getID() + ",this," + makeCommandLenFunc(cmdName, ((TMLExecCInterval) currElem).getMinDelay(), ((TMLExecCInterval) currElem).getMaxDelay()) + ",1,1," + getFormattedLiveVarStr(currElem) + ")" + CR;
+            nextCommand = cmdName + ".setNextCommand(array(1,(TMLCommand*)" + makeCommands(currElem.getNextElement(0), false, retElement, null) + "))" + SCCR;
 
 
-        } else if (currElem instanceof TMLForLoop){
+        } else if (currElem instanceof TMLForLoop) {
             //makeCommands(TMLActivityElement currElem, boolean skip, String retElement, MergedCmdStr nextCommandCont, String retElseElement)
-            if (debug) TraceManager.addDev("Checking Loop\n");
-            TMLForLoop fl = (TMLForLoop)currElem;
-            if (fl.getCondition().isEmpty() || fl.getCondition().trim().toUpperCase().equals("TRUE")){
+            //if (debug) TraceManager.addDev("Checking Loop\n");
+            TMLForLoop fl = (TMLForLoop) currElem;
+            if (fl.getCondition().isEmpty() || fl.getCondition().trim().toUpperCase().equals("TRUE")) {
                 //initAction.addNext(fl.getNextElement(0)); //inside loop
-                TMLActionState incAction=new TMLActionState("#"+ fl.getID() + "\\lpIncAc",null);
+                TMLActionState incAction = new TMLActionState("#" + fl.getID() + "\\lpIncAc", null);
                 incAction.setAction(fl.getIncrement());
-                String firstCmdInLoop= makeCommands(fl.getNextElement(0), false, "&_lpIncAc" + fl.getID(), null);
+                String firstCmdInLoop = makeCommands(fl.getNextElement(0), false, "&_lpIncAc" + fl.getID(), null);
                 makeCommands(incAction, false, firstCmdInLoop, null);
-                if (fl.getInit().isEmpty()){
+                if (fl.getInit().isEmpty()) {
                     return firstCmdInLoop;
-                }else{
-                    TMLActionState initAction=new TMLActionState("lpInitAc",null);
+                } else {
+                    TMLActionState initAction = new TMLActionState("lpInitAc", null);
                     initAction.setAction(fl.getInit());
-                    return makeCommands(initAction, false, firstCmdInLoop,null);
+                    return makeCommands(initAction, false, firstCmdInLoop, null);
                 }
 
-            }else{
-                TMLChoice lpChoice=new TMLChoice("#"+ fl.getID() + "\\lpChoice",null);
+            } else {
+                TMLChoice lpChoice = new TMLChoice("#" + fl.getID() + "\\lpChoice", null);
                 //if (fl.getCondition().isEmpty())
                 //      lpChoice.addGuard("[ true ]");
                 //else
@@ -534,163 +544,163 @@ public class MappedSystemCTask {
                 lpChoice.addGuard("[ else ]");
                 lpChoice.addNext(fl.getNextElement(0));  //inside loop
                 lpChoice.addNext(fl.getNextElement(1));  //after loop           cmdName= "_choice" + currElem.getID();
-                if (fl.getIncrement().isEmpty()){
+                if (fl.getIncrement().isEmpty()) {
                     makeCommands(lpChoice, false, "&_lpChoice" + fl.getID(), retElement);
-                }else{
-                    TMLActionState incAction=new TMLActionState("#"+ fl.getID() + "\\lpIncAc",null);
+                } else {
+                    TMLActionState incAction = new TMLActionState("#" + fl.getID() + "\\lpIncAc", null);
                     incAction.setAction(fl.getIncrement());
                     makeCommands(incAction, false, "&_lpChoice" + fl.getID(), null);
                     makeCommands(lpChoice, false, "&_lpIncAc" + fl.getID(), retElement);
                 }
-                if (fl.getInit().isEmpty()){
+                if (fl.getInit().isEmpty()) {
                     return "&_lpChoice" + fl.getID();
-                }else{
-                    TMLActionState initAction=new TMLActionState("lpInitAc",null);
+                } else {
+                    TMLActionState initAction = new TMLActionState("lpInitAc", null);
                     initAction.setAction(fl.getInit());
                     return makeCommands(initAction, false, "&_lpChoice" + fl.getID(), null);
                 }
             }
 
-        } else if (currElem instanceof TMLReadChannel){
-            if (debug) TraceManager.addDev("Checking Read\n");
-            cmdName= "_read" + currElem.getID();
-            hcode+="TMLReadCommand " + cmdName + SCCR;
-            TMLReadChannel rCommand=(TMLReadChannel)currElem;
+        } else if (currElem instanceof TMLReadChannel) {
+            //if (debug) TraceManager.addDev("Checking Read\n");
+            cmdName = "_read" + currElem.getID();
+            hcode += "TMLReadCommand " + cmdName + SCCR;
+            TMLReadChannel rCommand = (TMLReadChannel) currElem;
             if (isIntValue(rCommand.getNbOfSamples()))
                 //initCommand+= "," + cmdName + "("+currElem.getID()+",this,0," + rCommand.getChannel(0).getExtendedName() + "," + rCommand.getChannel(0).getSize() + "*" + rCommand.getNbOfSamples() + ")"+CR;
-                initCommand+= "," + cmdName + "("+currElem.getID()+",this,0," + rCommand.getChannel(0).getExtendedName() + "," + getFormattedLiveVarStr(currElem) + "," +  rCommand.getNbOfSamples() + ")"+CR;
+                initCommand += "," + cmdName + "(" + currElem.getID() + ",this,0," + rCommand.getChannel(0).getExtendedName() + "," + getFormattedLiveVarStr(currElem) + "," + rCommand.getNbOfSamples() + ")" + CR;
 
             else
                 //initCommand+= "," + cmdName + "("+currElem.getID()+",this," + makeCommandLenFunc(cmdName, rCommand.getChannel(0).getSize() + "*(" + rCommand.getNbOfSamples()+")",null) + "," + rCommand.getChannel(0).getExtendedName() + ")"+CR;
-                initCommand+= "," + cmdName + "("+currElem.getID()+",this," + makeCommandLenFunc(cmdName, rCommand.getNbOfSamples(),null) + "," + rCommand.getChannel(0).getExtendedName() + "," + getFormattedLiveVarStr(currElem) + ")"+CR;
-            nextCommand= cmdName + ".setNextCommand(array(1,(TMLCommand*)" + makeCommands(currElem.getNextElement(0),false,retElement,null) + "))"+ SCCR;
+                initCommand += "," + cmdName + "(" + currElem.getID() + ",this," + makeCommandLenFunc(cmdName, rCommand.getNbOfSamples(), null) + "," + rCommand.getChannel(0).getExtendedName() + "," + getFormattedLiveVarStr(currElem) + ")" + CR;
+            nextCommand = cmdName + ".setNextCommand(array(1,(TMLCommand*)" + makeCommands(currElem.getNextElement(0), false, retElement, null) + "))" + SCCR;
 
-        } else if (currElem instanceof TMLWriteChannel){
+        } else if (currElem instanceof TMLWriteChannel) {
             String channels;
-            TMLWriteChannel wCommand=(TMLWriteChannel)currElem;
-            if (wCommand.getNbOfChannels()>1){
-                if (ChannelMappedOnSameHW(wCommand)){
+            TMLWriteChannel wCommand = (TMLWriteChannel) currElem;
+            if (wCommand.getNbOfChannels() > 1) {
+                if (ChannelMappedOnSameHW(wCommand)) {
                     if (debug) TraceManager.addDev("Checking WriteMult with multicast\n");
-                    cmdName= "_mwrite" + currElem.getID();
-                    hcode+="TMLWriteMultCommand " + cmdName + SCCR;
-                    channels="array("+wCommand.getNbOfChannels();
-                    for(int i=0; i<wCommand.getNbOfChannels(); i++){
-                        channels+="," + wCommand.getChannel(i).getExtendedName();
+                    cmdName = "_mwrite" + currElem.getID();
+                    hcode += "TMLWriteMultCommand " + cmdName + SCCR;
+                    channels = "array(" + wCommand.getNbOfChannels();
+                    for (int i = 0; i < wCommand.getNbOfChannels(); i++) {
+                        channels += "," + wCommand.getChannel(i).getExtendedName();
                     }
-                    channels+=")," + wCommand.getNbOfChannels();
-                }else{
+                    channels += ")," + wCommand.getNbOfChannels();
+                } else {
                     if (debug) TraceManager.addDev("Checking WriteMult with unicast\n");
-                    TMLWriteChannel prevWrite = null, firstWrite=null;
-                    for(int i=0; i<wCommand.getNbOfChannels(); i++){
-                        TMLWriteChannel newWrite =  new TMLWriteChannel("WriteMult",null);
-                        if(i==0) firstWrite=newWrite;
+                    TMLWriteChannel prevWrite = null, firstWrite = null;
+                    for (int i = 0; i < wCommand.getNbOfChannels(); i++) {
+                        TMLWriteChannel newWrite = new TMLWriteChannel("WriteMult", null);
+                        if (i == 0) firstWrite = newWrite;
                         newWrite.addChannel(wCommand.getChannel(i));
                         newWrite.setNbOfSamples(wCommand.getNbOfSamples());
-                        if (prevWrite!=null) prevWrite.addNext(newWrite);
-                        prevWrite=newWrite;
+                        if (prevWrite != null) prevWrite.addNext(newWrite);
+                        prevWrite = newWrite;
                     }
                     prevWrite.addNext(wCommand.getNextElement(0));
-                    return makeCommands(firstWrite, false, retElement,null);
+                    return makeCommands(firstWrite, false, retElement, null);
                 }
-            }else{
-                cmdName= "_write" + currElem.getID();
-                hcode+="TMLWriteCommand " + cmdName + SCCR;
-                channels=wCommand.getChannel(0).getExtendedName();
+            } else {
+                cmdName = "_write" + currElem.getID();
+                hcode += "TMLWriteCommand " + cmdName + SCCR;
+                channels = wCommand.getChannel(0).getExtendedName();
             }
             if (isIntValue(wCommand.getNbOfSamples()))
-                initCommand+= "," + cmdName + "("+currElem.getID()+",this,0," + channels + "," +  getFormattedLiveVarStr(currElem) + "," + wCommand.getNbOfSamples() + ")" +CR;
+                initCommand += "," + cmdName + "(" + currElem.getID() + ",this,0," + channels + "," + getFormattedLiveVarStr(currElem) + "," + wCommand.getNbOfSamples() + ")" + CR;
             else
-                initCommand+= "," + cmdName + "("+currElem.getID()+",this," + makeCommandLenFunc(cmdName, wCommand.getNbOfSamples(), null) + "," + channels + "," + getFormattedLiveVarStr(currElem) + ")"+CR;
-            nextCommand= cmdName + ".setNextCommand(array(1,(TMLCommand*)" + makeCommands(currElem.getNextElement(0),false,retElement,null) + "))"+ SCCR;
-
-        } else if (currElem instanceof TMLSendEvent){
-            if (debug) TraceManager.addDev("Checking Send\n");
-           // TMLSendEvent sendEvt=(TMLSendEvent)currElem;
-            cmdName= "_send" + currElem.getID();
-            hcode+="TMLSendCommand " + cmdName + SCCR;
+                initCommand += "," + cmdName + "(" + currElem.getID() + ",this," + makeCommandLenFunc(cmdName, wCommand.getNbOfSamples(), null) + "," + channels + "," + getFormattedLiveVarStr(currElem) + ")" + CR;
+            nextCommand = cmdName + ".setNextCommand(array(1,(TMLCommand*)" + makeCommands(currElem.getNextElement(0), false, retElement, null) + "))" + SCCR;
+
+        } else if (currElem instanceof TMLSendEvent) {
+            //if (debug) TraceManager.addDev("Checking Send\n");
+            // TMLSendEvent sendEvt=(TMLSendEvent)currElem;
+            cmdName = "_send" + currElem.getID();
+            hcode += "TMLSendCommand " + cmdName + SCCR;
             handleParameters(currElem, cmdName, false, getFormattedLiveVarStr(currElem));
-            nextCommand= cmdName + ".setNextCommand(array(1,(TMLCommand*)" + makeCommands(currElem.getNextElement(0),false,retElement,null) + "))"+ SCCR;
+            nextCommand = cmdName + ".setNextCommand(array(1,(TMLCommand*)" + makeCommands(currElem.getNextElement(0), false, retElement, null) + "))" + SCCR;
 
-        } else if (currElem instanceof TMLSendRequest){
-            if (debug) TraceManager.addDev("Checking Request\n");
+        } else if (currElem instanceof TMLSendRequest) {
+            //if (debug) TraceManager.addDev("Checking Request\n");
             //TMLSendRequest sendReq=(TMLSendRequest)currElem;
-            cmdName= "_request" + currElem.getID();
-            hcode+="TMLRequestCommand " + cmdName + SCCR;
+            cmdName = "_request" + currElem.getID();
+            hcode += "TMLRequestCommand " + cmdName + SCCR;
             handleParameters(currElem, cmdName, false, getFormattedLiveVarStr(currElem));
-            nextCommand= cmdName + ".setNextCommand(array(1,(TMLCommand*)" + makeCommands(currElem.getNextElement(0),false,retElement,null) + "))"+ SCCR;
+            nextCommand = cmdName + ".setNextCommand(array(1,(TMLCommand*)" + makeCommands(currElem.getNextElement(0), false, retElement, null) + "))" + SCCR;
 
-        } else if (currElem instanceof TMLWaitEvent){
-            if (debug) TraceManager.addDev("Checking Wait\n");
-           // TMLWaitEvent waitEvt = (TMLWaitEvent)currElem;
-            cmdName= "_wait" + currElem.getID();
-            hcode+="TMLWaitCommand " + cmdName + SCCR;
+        } else if (currElem instanceof TMLWaitEvent) {
+            //if (debug) TraceManager.addDev("Checking Wait\n");
+            // TMLWaitEvent waitEvt = (TMLWaitEvent)currElem;
+            cmdName = "_wait" + currElem.getID();
+            hcode += "TMLWaitCommand " + cmdName + SCCR;
             handleParameters(currElem, cmdName, true, getFormattedLiveVarStr(currElem));
-            nextCommand= cmdName + ".setNextCommand(array(1,(TMLCommand*)" + makeCommands(currElem.getNextElement(0),false,retElement,null) + "))"+ SCCR;
-
-        } else if (currElem instanceof TMLNotifiedEvent){
-            if (debug) TraceManager.addDev("Checking Notified\n");
-            cmdName= "_notified" + currElem.getID();
-            hcode+="TMLNotifiedCommand " + cmdName + SCCR;
-            initCommand+= "," + cmdName + "("+currElem.getID()+",this," + ((TMLNotifiedEvent)currElem).getEvent().getExtendedName() + ",&" + ((TMLNotifiedEvent)currElem).getVariable() +",\"" + ((TMLNotifiedEvent)currElem).getVariable() + "\"," + getFormattedLiveVarStr(currElem) + ")" + CR;
-            nextCommand= cmdName + ".setNextCommand(array(1,(TMLCommand*)" + makeCommands(currElem.getNextElement(0),false,retElement,null) + "))"+ SCCR;
-
-        } else if (currElem instanceof TMLSequence){
-            TMLSequence tmlseq = (TMLSequence)currElem;
-            if (debug) TraceManager.addDev("Checking Sequence with "+ tmlseq.getNbNext()+ " elements.");
+            nextCommand = cmdName + ".setNextCommand(array(1,(TMLCommand*)" + makeCommands(currElem.getNextElement(0), false, retElement, null) + "))" + SCCR;
+
+        } else if (currElem instanceof TMLNotifiedEvent) {
+            //if (debug) TraceManager.addDev("Checking Notified\n");
+            cmdName = "_notified" + currElem.getID();
+            hcode += "TMLNotifiedCommand " + cmdName + SCCR;
+            initCommand += "," + cmdName + "(" + currElem.getID() + ",this," + ((TMLNotifiedEvent) currElem).getEvent().getExtendedName() + ",&" + ((TMLNotifiedEvent) currElem).getVariable() + ",\"" + ((TMLNotifiedEvent) currElem).getVariable() + "\"," + getFormattedLiveVarStr(currElem) + ")" + CR;
+            nextCommand = cmdName + ".setNextCommand(array(1,(TMLCommand*)" + makeCommands(currElem.getNextElement(0), false, retElement, null) + "))" + SCCR;
+
+        } else if (currElem instanceof TMLSequence) {
+            TMLSequence tmlseq = (TMLSequence) currElem;
+            //if (debug) TraceManager.addDev("Checking Sequence with " + tmlseq.getNbNext() + " elements.");
             if (tmlseq.getNbNext() == 0) {
                 return retElement;
             } else {
                 if (tmlseq.getNbNext() == 1) {
-                    return makeCommands(currElem.getNextElement(0), false,retElement,null);
+                    return makeCommands(currElem.getNextElement(0), false, retElement, null);
                 } else {
                     String nextBranch;
                     tmlseq.sortNexts();
-                    if (debug) TraceManager.addDev("Checking Sequence branch "+ (tmlseq.getNbNext()-1));
-                    nextBranch= makeCommands(currElem.getNextElement(currElem.getNbNext() - 1),false,retElement,null);
-                    for(int i=currElem.getNbNext() - 2; i>=0; i--) {
-                        if (debug) TraceManager.addDev("Checking Sequence branch "+ i);
-                        nextBranch=makeCommands(currElem.getNextElement(i),false,nextBranch,null);
+                    //if (debug) TraceManager.addDev("Checking Sequence branch " + (tmlseq.getNbNext() - 1));
+                    nextBranch = makeCommands(currElem.getNextElement(currElem.getNbNext() - 1), false, retElement, null);
+                    for (int i = currElem.getNbNext() - 2; i >= 0; i--) {
+                        //if (debug) TraceManager.addDev("Checking Sequence branch " + i);
+                        nextBranch = makeCommands(currElem.getNextElement(i), false, nextBranch, null);
                     }
                     return nextBranch;
                 }
             }
 
-        } else if (currElem instanceof TMLChoice){
-            String elemName=currElem.getName(), idString;
-            if (elemName.charAt(0)=='#'){
-                int pos=elemName.indexOf('\\');
-                idString=elemName.substring(1,pos);
+        } else if (currElem instanceof TMLChoice) {
+            String elemName = currElem.getName(), idString;
+            if (elemName.charAt(0) == '#') {
+                int pos = elemName.indexOf('\\');
+                idString = elemName.substring(1, pos);
                 //TraceManager.addDev(elemName + "***" + pos + "***" + idString + "***"+ elemName.length());
-                cmdName="_" + elemName.substring(pos+1) + idString;
-            }else{
-                cmdName= "_choice" + currElem.getID();
-                idString=String.valueOf(currElem.getID());
+                cmdName = "_" + elemName.substring(pos + 1) + idString;
+            } else {
+                cmdName = "_choice" + currElem.getID();
+                idString = String.valueOf(currElem.getID());
             }
-            TMLChoice choice = (TMLChoice)currElem;
-            String code = "", nextCommandTemp="", stopCmdToAdd="";
-            int noOfGuards=0;
-            if (debug) TraceManager.addDev("Checking Choice\n");
-            if (choice.getNbGuard() !=0 ) {
+            TMLChoice choice = (TMLChoice) currElem;
+            String code = "", nextCommandTemp = "", stopCmdToAdd = "";
+            int noOfGuards = 0;
+            //if (debug) TraceManager.addDev("Checking Choice\n");
+            if (choice.getNbGuard() != 0) {
                 //int indexElseG = choice.getElseGuard(), indexAfterG = choice.getAfterGuard();
                 int noNonDetGuards = choice.nbOfNonDeterministicGuard();
                 int noStochGuards = choice.nbOfStochasticGuard();
-                if (noNonDetGuards>0){ //Non-Deterministic choice
-                    code+= "oMin=0;\n";
-                    code+= "oMax=" + (noNonDetGuards-1) + SCCR;
+                if (noNonDetGuards > 0) { //Non-Deterministic choice
+                    code += "oMin=0;\n";
+                    code += "oMax=" + (noNonDetGuards - 1) + SCCR;
                     //code += "rnd__0 = myrand(0, "+ noNonDetGuards + ")" + SCCR;
-                    code += "return myrand(0, "+ (noNonDetGuards-1) + ")" + SCCR;
-                    for(int i=0; i<noNonDetGuards; i++) {
+                    code += "return myrand(0, " + (noNonDetGuards - 1) + ")" + SCCR;
+                    for (int i = 0; i < noNonDetGuards; i++) {
                         //code += "if (rnd__0 < " + Math.floor(100/noNonDetGuards)*(i+1) + ") return " + i + SCCR;
-                        nextCommandTemp+= ",(TMLCommand*)" + makeCommands(choice.getNextElement(i), false, retElement,null);
+                        nextCommandTemp += ",(TMLCommand*)" + makeCommands(choice.getNextElement(i), false, retElement, null);
                     }
                     noOfGuards = noNonDetGuards;
                     //code+= "return " + (noNonDetGuards-1) + SCCR;
-                }else if(noStochGuards>0){ //Stochastic choice
-                    code+= "oMin=0;\n";
-                    code+= "oMax=" + (noStochGuards-1) + SCCR;
+                } else if (noStochGuards > 0) { //Stochastic choice
+                    code += "oMin=0;\n";
+                    code += "oMax=" + (noStochGuards - 1) + SCCR;
                     code += "rnd__0 = myrand(0, 99)" + SCCR;
-                    String composedGuard="";
-                    for(int i=0; i<choice.getNbGuard(); i++) {
+                    String composedGuard = "";
+                    for (int i = 0; i < choice.getNbGuard(); i++) {
                         if (choice.isStochasticGuard(i)) {
                             if (composedGuard.isEmpty()) {
                                 composedGuard = formatGuard(choice.getStochasticGuard(i));
@@ -698,40 +708,40 @@ public class MappedSystemCTask {
                                 composedGuard = composedGuard + "+" + formatGuard(choice.getStochasticGuard(i));
                             }
                             code += "if (rnd__0 < (" + composedGuard + ")) return " + noOfGuards + SCCR;
-                            nextCommandTemp+= ",(TMLCommand*)" + makeCommands(choice.getNextElement(i), false, retElement,null);
+                            nextCommandTemp += ",(TMLCommand*)" + makeCommands(choice.getNextElement(i), false, retElement, null);
                             noOfGuards++;
                         }
                     }
 
-                }else{
-                    int indElseGuard = choice.getElseGuard(), newIndElseGuard=-1;
-                    code+= "unsigned int oC=0;\n";
-                    code+= "oMin=-1;\n";
-                    code+= "oMax=0;\n";
-                    for(int i=0; i<choice.getNbGuard(); i++) {
-                        if (!(choice.isNonDeterministicGuard(i) || choice.isStochasticGuard(i))){
-                            if (i==indElseGuard){
-                                newIndElseGuard=noOfGuards;
-                                if (retElseElement!=null)
-                                    nextCommandTemp+= ",(TMLCommand*)" +makeCommands(choice.getNextElement(indElseGuard), false, retElseElement,null);
+                } else {
+                    int indElseGuard = choice.getElseGuard(), newIndElseGuard = -1;
+                    code += "unsigned int oC=0;\n";
+                    code += "oMin=-1;\n";
+                    code += "oMax=0;\n";
+                    for (int i = 0; i < choice.getNbGuard(); i++) {
+                        if (!(choice.isNonDeterministicGuard(i) || choice.isStochasticGuard(i))) {
+                            if (i == indElseGuard) {
+                                newIndElseGuard = noOfGuards;
+                                if (retElseElement != null)
+                                    nextCommandTemp += ",(TMLCommand*)" + makeCommands(choice.getNextElement(indElseGuard), false, retElseElement, null);
                                 else
-                                    nextCommandTemp+= ",(TMLCommand*)" + makeCommands(choice.getNextElement(indElseGuard), false, retElement,null);
+                                    nextCommandTemp += ",(TMLCommand*)" + makeCommands(choice.getNextElement(indElseGuard), false, retElement, null);
 
-                            }else{
-                                code += "if "+ formatAction(formatGuard(choice.getGuard(i))) + "{\noC++;\n";
+                            } else {
+                                code += "if " + formatAction(formatGuard(choice.getGuard(i))) + "{\noC++;\n";
                                 code += "oMax += " + (1 << noOfGuards) + SCCR + "\n}\n";
-                                nextCommandTemp += ",(TMLCommand*)" + makeCommands(choice.getNextElement(i), false, retElement,null);
+                                nextCommandTemp += ",(TMLCommand*)" + makeCommands(choice.getNextElement(i), false, retElement, null);
                             }
                             noOfGuards++;
                         }
                     }
                     //if (newIndElseGuard!=-1){
-                    if (newIndElseGuard==-1){
-                        newIndElseGuard= noOfGuards;
+                    if (newIndElseGuard == -1) {
+                        newIndElseGuard = noOfGuards;
                         stopCmdToAdd = ",(TMLCommand*)&_stop" + idString;
                         noOfGuards++;
-                        hcode+="TMLStopCommand " + "_stop" + idString + SCCR;
-                        initCommand+= ", _stop" + idString + "(" + idString + ",this)" + CR;
+                        hcode += "TMLStopCommand " + "_stop" + idString + SCCR;
+                        initCommand += ", _stop" + idString + "(" + idString + ",this)" + CR;
                     }
                     code += "if (oMax==0){\n oMax=" + (1 << newIndElseGuard) + SCCR;
                     //code += "oC=1;\n}\n";
@@ -740,167 +750,167 @@ public class MappedSystemCTask {
                     code += "return getEnabledBranchNo(myrand(1,oC), oMax);\n";
                 }
                 //nextCommand= cmdName + ".setNextCommand(array(" + noOfGuards + nextCommandTemp + "))" + SCCR;
-                nextCommand= cmdName + ".setNextCommand(array(" + noOfGuards + nextCommandTemp + stopCmdToAdd+ "))" + SCCR;
+                nextCommand = cmdName + ".setNextCommand(array(" + noOfGuards + nextCommandTemp + stopCmdToAdd + "))" + SCCR;
             }
             //if (choice.nbOfNonDeterministicGuard()==0 &&  choice.nbOfStochasticGuard()==0)
             //  hcode+="TMLChoiceCommand " + cmdName + SCCR;
             //else
-            hcode+="TMLRandomChoiceCommand " + cmdName + SCCR;
-            initCommand+= "," + cmdName + "("+ idString +",this,(RangeFuncPointer)&" + reference + "::" + cmdName + "_func," + noOfGuards + "," + getFormattedLiveVarStr(currElem) + ")"+CR;
-            functions+="unsigned int "+ reference + "::" + cmdName + "_func(ParamType& oMin, ParamType& oMax){" + CR + code +CR+ "}" + CR2;
-            functionSig+="unsigned int " + cmdName + "_func(ParamType& oMin, ParamType& oMax)" + SCCR;
+            hcode += "TMLRandomChoiceCommand " + cmdName + SCCR;
+            initCommand += "," + cmdName + "(" + idString + ",this,(RangeFuncPointer)&" + reference + "::" + cmdName + "_func," + noOfGuards + "," + getFormattedLiveVarStr(currElem) + ")" + CR;
+            functions += "unsigned int " + reference + "::" + cmdName + "_func(ParamType& oMin, ParamType& oMax){" + CR + code + CR + "}" + CR2;
+            functionSig += "unsigned int " + cmdName + "_func(ParamType& oMin, ParamType& oMax)" + SCCR;
 
-        } else if (currElem instanceof TMLSelectEvt){
+        } else if (currElem instanceof TMLSelectEvt) {
             TMLEvent evt;
             //Integer nbevt=0;
-            int nbevt=0;
-            String evtList="",paramList="";
-            if (debug) TraceManager.addDev("Checking SelectEvt\n");
-            cmdName= "_select" + currElem.getID();
-            for(int i=0; i<currElem.getNbNext(); i++) {
-                evt=((TMLSelectEvt)currElem).getEvent(i);
-                if (evt!=null){
+            int nbevt = 0;
+            String evtList = "", paramList = "";
+            //if (debug) TraceManager.addDev("Checking SelectEvt\n");
+            cmdName = "_select" + currElem.getID();
+            for (int i = 0; i < currElem.getNbNext(); i++) {
+                evt = ((TMLSelectEvt) currElem).getEvent(i);
+                if (evt != null) {
                     nbevt++;
-                    evtList += ",(TMLEventChannel*)"+ evt.getExtendedName();
-                    if (evt.getNbOfParams()==0) {
-                        paramList+=",(ParamFuncPointer)0";
-                    }else{
+                    evtList += ",(TMLEventChannel*)" + evt.getExtendedName();
+                    if (evt.getNbOfParams() == 0) {
+                        paramList += ",(ParamFuncPointer)0";
+                    } else {
 
                         //functionSig+="Parameter<ParamType>* " + cmdName + "_func_" + i + "(Parameter<ParamType>* ioParam)" + SCCR;
                         //functions+="Parameter<ParamType>* " + reference + "::" + cmdName +  "_func_" + i + "(Parameter<ParamType>* ioParam){" + CR;
-                        functionSig+="Parameter* " + cmdName + "_func_" + i + "(Parameter* ioParam)" + SCCR;
-                        functions+="Parameter* " + reference + "::" + cmdName +  "_func_" + i + "(Parameter* ioParam){" + CR;
+                        functionSig += "Parameter* " + cmdName + "_func_" + i + "(Parameter* ioParam)" + SCCR;
+                        functions += "Parameter* " + reference + "::" + cmdName + "_func_" + i + "(Parameter* ioParam){" + CR;
 
-                        paramList+=",(ParamFuncPointer)&" + reference + "::" + cmdName + "_func_" + i + CR;
-                        functions += "ioParam->getP(&" + ((TMLSelectEvt)currElem).getParam(i,0);
-                        for(int j=1; j<evt.getNbOfParams(); j++) {
-                            functions+= ", &" + ((TMLSelectEvt)currElem).getParam(i,j);
+                        paramList += ",(ParamFuncPointer)&" + reference + "::" + cmdName + "_func_" + i + CR;
+                        functions += "ioParam->getP(&" + ((TMLSelectEvt) currElem).getParam(i, 0);
+                        for (int j = 1; j < evt.getNbOfParams(); j++) {
+                            functions += ", &" + ((TMLSelectEvt) currElem).getParam(i, j);
                         }
-                        functions+=");\nreturn 0;\n}\n\n";
+                        functions += ");\nreturn 0;\n}\n\n";
                     }
-                    nextCommand+= ",(TMLCommand*)" + makeCommands(currElem.getNextElement(i), true, retElement,null);
+                    nextCommand += ",(TMLCommand*)" + makeCommands(currElem.getNextElement(i), true, retElement, null);
                 }
             }
-            hcode+="TMLSelectCommand " + cmdName + SCCR;
-            initCommand+= "," + cmdName + "("+currElem.getID()+",this,array("+ nbevt + evtList + "),"+ nbevt + "," + getFormattedLiveVarStr(currElem) + ",array("+ nbevt + paramList + "))"+CR;
-            nextCommand=cmdName + ".setNextCommand(array(" + nbevt + nextCommand + "))" + SCCR;
+            hcode += "TMLSelectCommand " + cmdName + SCCR;
+            initCommand += "," + cmdName + "(" + currElem.getID() + ",this,array(" + nbevt + evtList + ")," + nbevt + "," + getFormattedLiveVarStr(currElem) + ",array(" + nbevt + paramList + "))" + CR;
+            nextCommand = cmdName + ".setNextCommand(array(" + nbevt + nextCommand + "))" + SCCR;
 
         } else {
-            TraceManager.addDev("Operator: " + currElem + " of class " + currElem.getClass().getName() +  " is not managed in the current version of this C++ code generator.");
+            TraceManager.addDev("Operator: " + currElem + " of class " + currElem.getClass().getName() + " is not managed in the current version of this C++ code generator.");
         }
-        chaining+=nextCommand;
-        return (cmdName.equals("0") || cmdName.charAt(0)=='&')? cmdName : "&"+cmdName;
+        chaining += nextCommand;
+        return (cmdName.equals("0") || cmdName.charAt(0) == '&') ? cmdName : "&" + cmdName;
     }
 
-    private String formatGuard(String guard){
+    private String formatGuard(String guard) {
         guard = Conversion.replaceAllChar(guard, '[', "(");
         guard = Conversion.replaceAllChar(guard, ']', ")");
         return guard;
     }
 
-    public static String formatAction(String action){
-        action = action.replaceAll("not\\s","!");
-        action = action.replaceAll("not\\(","!(");
-        action = action.replaceAll("\\sand\\s","&&");
-        action = action.replaceAll("\\sand\\(","&&(");
-        action = action.replaceAll("\\)and\\s",")&&");
-        action = action.replaceAll("\\)and\\(",")&&(");
-        action = action.replaceAll("\\sor\\s","||");
-        action = action.replaceAll("\\sor\\(","||(");
-        action = action.replaceAll("\\)or\\s",")||");
-        action = action.replaceAll("\\)or\\(",")||(");
+    public static String formatAction(String action) {
+        action = action.replaceAll("not\\s", "!");
+        action = action.replaceAll("not\\(", "!(");
+        action = action.replaceAll("\\sand\\s", "&&");
+        action = action.replaceAll("\\sand\\(", "&&(");
+        action = action.replaceAll("\\)and\\s", ")&&");
+        action = action.replaceAll("\\)and\\(", ")&&(");
+        action = action.replaceAll("\\sor\\s", "||");
+        action = action.replaceAll("\\sor\\(", "||(");
+        action = action.replaceAll("\\)or\\s", ")||");
+        action = action.replaceAll("\\)or\\(", ")||(");
         //action = action.replaceAll("[\\s(]or[\\s)]","||");
         return action;
     }
 
-    private boolean ChannelMappedOnSameHW(TMLWriteChannel writeCmd){
+    private boolean ChannelMappedOnSameHW(TMLWriteChannel writeCmd) {
         LinkedList<HwCommunicationNode> commNodeRefList = tmlmapping.findNodesForElement(writeCmd.getChannel(0));
-        for(int i=1; i<writeCmd.getNbOfChannels(); i++){
+        for (int i = 1; i < writeCmd.getNbOfChannels(); i++) {
             LinkedList<HwCommunicationNode> commNodeCmpList = tmlmapping.findNodesForElement(writeCmd.getChannel(i));
-            
-            if (commNodeCmpList.size()!=commNodeRefList.size()) return false;
-            
+
+            if (commNodeCmpList.size() != commNodeRefList.size()) return false;
+
             Iterator<HwCommunicationNode> it = commNodeCmpList.iterator();
-            
-            for(HwCommunicationNode cmnode: commNodeRefList) {
-                if (it.next()!=cmnode) return false;
+
+            for (HwCommunicationNode cmnode : commNodeRefList) {
+                if (it.next() != cmnode) return false;
             }
         }
         return true;
     }
 
 
-    private String makeCommandLenFunc(String cmdName, String lowerLimit, String upperLimit){
-        if (upperLimit==null)
-            functions+="TMLLength "+ reference + "::" + cmdName + "_func(){\nreturn (TMLLength)(" + modifyString(lowerLimit) + ");\n}" + CR2;
+    private String makeCommandLenFunc(String cmdName, String lowerLimit, String upperLimit) {
+        if (upperLimit == null)
+            functions += "TMLLength " + reference + "::" + cmdName + "_func(){\nreturn (TMLLength)(" + modifyString(lowerLimit) + ");\n}" + CR2;
         else
-            functions+="TMLLength "+ reference + "::" + cmdName + "_func(){\nreturn (TMLLength)myrand(" + lowerLimit + "," + modifyString(upperLimit) + ");\n}" + CR2;
-        functionSig+="TMLLength " + cmdName + "_func()" + SCCR;
+            functions += "TMLLength " + reference + "::" + cmdName + "_func(){\nreturn (TMLLength)myrand(" + lowerLimit + "," + modifyString(upperLimit) + ");\n}" + CR2;
+        functionSig += "TMLLength " + cmdName + "_func()" + SCCR;
         return "(LengthFuncPointer)&" + reference + "::" + cmdName + "_func";
     }
 
-    private String makeCommandRangeFunc(String cmdName, String lowerLimit, String upperLimit){
-        functions+="unsigned int "+ reference + "::" + cmdName + "_func(ParamType& oMin, ParamType& oMax){\n oMin=" + modifyString(lowerLimit) + ";\noMax=" + modifyString(upperLimit) + SCCR + "return myrand(oMin, oMax)" + SCCR;
-        functions+= "}" + CR2;
-        functionSig+="unsigned int " + cmdName + "_func(ParamType & oMin, ParamType& oMax)" + SCCR;
+    private String makeCommandRangeFunc(String cmdName, String lowerLimit, String upperLimit) {
+        functions += "unsigned int " + reference + "::" + cmdName + "_func(ParamType& oMin, ParamType& oMax){\n oMin=" + modifyString(lowerLimit) + ";\noMax=" + modifyString(upperLimit) + SCCR + "return myrand(oMin, oMax)" + SCCR;
+        functions += "}" + CR2;
+        functionSig += "unsigned int " + cmdName + "_func(ParamType & oMin, ParamType& oMax)" + SCCR;
         return "(RangeFuncPointer)&" + reference + "::" + cmdName + "_func";
     }
 
-    private boolean isIntValue(String input){
-        try{
+    private boolean isIntValue(String input) {
+        try {
             Integer.parseInt(input);
             return true;
-        }catch(Exception e){
+        } catch (Exception e) {
             return false;
         }
     }
 
-    private void handleParameters(TMLActivityElement currElem, String cmdName, boolean wait, String liveVarString){
-        String concatParams="", channelName="";
-        String[] paramArray=null;
+    private void handleParameters(TMLActivityElement currElem, String cmdName, boolean wait, String liveVarString) {
+        String concatParams = "", channelName = "";
+        String[] paramArray = null;
         //boolean areStatic=true;
-        int nbOfParams=0;
-        String address=(wait)? "&":"";
-        if (currElem instanceof TMLActivityElementEvent){
-            nbOfParams=((TMLActivityElementEvent)currElem).getNbOfParams();
+        int nbOfParams = 0;
+        String address = (wait) ? "&" : "";
+        if (currElem instanceof TMLActivityElementEvent) {
+            nbOfParams = ((TMLActivityElementEvent) currElem).getNbOfParams();
             paramArray = new String[nbOfParams];
-            for (int i=0; i< nbOfParams; i++){
-                paramArray[i]=((TMLActivityElementEvent)currElem).getParam(i);
+            for (int i = 0; i < nbOfParams; i++) {
+                paramArray[i] = ((TMLActivityElementEvent) currElem).getParam(i);
             }
-            channelName = ((TMLActivityElementEvent)currElem).getEvent().getExtendedName();
-        }
-        else if (currElem instanceof TMLSendRequest){
-            nbOfParams=((TMLSendRequest)currElem).getNbOfParams();
+            channelName = ((TMLActivityElementEvent) currElem).getEvent().getExtendedName();
+        } else if (currElem instanceof TMLSendRequest) {
+            nbOfParams = ((TMLSendRequest) currElem).getNbOfParams();
             paramArray = new String[nbOfParams];
-            for (int i=0; i< nbOfParams; i++){
-                paramArray[i]=((TMLSendRequest)currElem).getParam(i);
+            for (int i = 0; i < nbOfParams; i++) {
+                paramArray[i] = ((TMLSendRequest) currElem).getParam(i);
             }
-            channelName = ((TMLSendRequest)currElem).getRequest().getExtendedName();
+            channelName = ((TMLSendRequest) currElem).getRequest().getExtendedName();
         }
-        if (nbOfParams==0){
-            initCommand+= "," + cmdName + "("+ currElem.getID() +",this," + channelName + ",0," + liveVarString +")"+CR;
-        }else{
-            for(int i=0; i<nbOfParams; i++){
+        if (nbOfParams == 0) {
+            initCommand += "," + cmdName + "(" + currElem.getID() + ",this," + channelName + ",0," + liveVarString + ")" + CR;
+        } else {
+            for (int i = 0; i < nbOfParams; i++) {
                 //if(areStatic && !isIntValue(paramArray[i])) areStatic=false;
-                if (i>0) concatParams+=",";
+                if (i > 0) concatParams += ",";
                 //concatParams+=",";
-                if (paramArray[i]==null || paramArray[i].isEmpty()) concatParams+="0"; else concatParams+= address + paramArray[i];
+                if (paramArray[i] == null || paramArray[i].isEmpty()) concatParams += "0";
+                else concatParams += address + paramArray[i];
             }
             //if (areStatic){
             //initCommand+= "," + cmdName + "("+ currElem.getID() +",this," + channelName + ",0," + liveVarString + ",Parameter<ParamType>(" + nbOfParams + "," + concatParams + "))"+CR;
             //initCommand+= "," + cmdName + "("+ currElem.getID() +",this," + channelName + ",0," + liveVarString + ",new SizedParameter<ParamType," + nbOfParams + ">(" + concatParams + "))"+CR;
             //}else{
-            initCommand+= "," + cmdName + "("+ currElem.getID() +",this," + channelName + ",(ParamFuncPointer)&" + reference + "::" + cmdName + "_func,"+ liveVarString + ")" + CR;
+            initCommand += "," + cmdName + "(" + currElem.getID() + ",this," + channelName + ",(ParamFuncPointer)&" + reference + "::" + cmdName + "_func," + liveVarString + ")" + CR;
             //functionSig+="Parameter<ParamType>* " + cmdName + "_func(Parameter<ParamType>* ioParam)" + SCCR;
             //functions+="Parameter<ParamType>* " + reference + "::" + cmdName +  "_func(Parameter<ParamType>* ioParam){" + CR;
-            functionSig+="Parameter* " + cmdName + "_func(Parameter* ioParam)" + SCCR;
-            functions+="Parameter* " + reference + "::" + cmdName +  "_func(Parameter* ioParam){" + CR;
+            functionSig += "Parameter* " + cmdName + "_func(Parameter* ioParam)" + SCCR;
+            functions += "Parameter* " + reference + "::" + cmdName + "_func(Parameter* ioParam){" + CR;
             if (wait)
                 functions += "ioParam->getP(" + concatParams + ")" + SCCR + "return 0" + SCCR;
             else
                 //functions += "return new Parameter<ParamType>(" + nbOfParams + "," + concatParams + ")" + SCCR;
                 functions += "return new SizedParameter<ParamType," + nbOfParams + ">(" + concatParams + ")" + SCCR;
-            functions+="}\n\n";
+            functions += "}\n\n";
             //}
         }
     }
@@ -912,13 +922,13 @@ public class MappedSystemCTask {
 
     private String makeAttributesCode() {
         String code = "";
-       // int i;
-        for(TMLAttribute att: task.getAttributes()) {
+        // int i;
+        for (TMLAttribute att : task.getAttributes()) {
             //if (!att.name.endsWith("__req")){ //NEW
             if (att.hasInitialValue())
-                code += ","+ att.name + "(" + att.initialValue + ")"+CR;
+                code += "," + att.name + "(" + att.initialValue + ")" + CR;
             else
-                code += ","+ att.name + "(0)"+CR;
+                code += "," + att.name + "(0)" + CR;
             //}
         }
         //code += ",arg1__req(0)"+CR;
@@ -929,8 +939,8 @@ public class MappedSystemCTask {
 
     private String makeAttributesDeclaration() {
         String code = "";
-      //  int i;
-        for(TMLAttribute att: task.getAttributes()) {
+        //  int i;
+        for (TMLAttribute att : task.getAttributes()) {
             //if (!att.name.endsWith("__req")){  //NEW
             code += "ParamType " + att.name;
             code += ";\n";
@@ -940,7 +950,7 @@ public class MappedSystemCTask {
         //code += "ParamType arg2__req" + SCCR;
         //code += "ParamType arg3__req" + SCCR;
         code += "ParamType rnd__0" + SCCR;
-        code += "TMLChannel* _channels[" + (channels.size() + events.size() + (task.isRequested()? 1:0)) + "]" + SCCR;
+        code += "TMLChannel* _channels[" + (channels.size() + events.size() + (task.isRequested() ? 1 : 0)) + "]" + SCCR;
         return code;
     }
 
@@ -959,35 +969,35 @@ public class MappedSystemCTask {
         return _input;
     }
 
-    public String getIdentifierNameByID(int id){
+    public String getIdentifierNameByID(int id) {
         //Channels, Events, Requests, Variables, Choice, Random
-        id=Math.abs(id);
-        for (TMLChannel channel: channels){
-            if (channel.getID()==id) return channel.getName();
+        id = Math.abs(id);
+        for (TMLChannel channel : channels) {
+            if (channel.getID() == id) return channel.getName();
         }
-        for (TMLEvent event: events){
-            if (event.getID()==id) return event.getName();
+        for (TMLEvent event : events) {
+            if (event.getID() == id) return event.getName();
             /*int param = Integer.MAX_VALUE - 3 * event.getID() - id + 1;
               if (param>0 && param<4)  return event.getName() + "_param" + param;*/
         }
-        for (TMLRequest request: requests){
-            if (request.getID()==id) return request.getName();
+        for (TMLRequest request : requests) {
+            if (request.getID() == id) return request.getName();
             /*int param = Integer.MAX_VALUE - 3 * request.getID() - id +1;
               if (param>0 && param<4)  return request.getName() + "_param!" + param;*/
         }
-        for(TMLAttribute att: task.getAttributes()){
-            if (att.getID()==id) return reference + ":" + att.getName();
+        for (TMLAttribute att : task.getAttributes()) {
+            if (att.getID() == id) return reference + ":" + att.getName();
         }
-        for(int i=0; i<task.getActivityDiagram().nElements();i++)
-            if (task.getActivityDiagram().get(i).getID()==id) return reference + ":Command " + id;
+        for (int i = 0; i < task.getActivityDiagram().nElements(); i++)
+            if (task.getActivityDiagram().get(i).getID() == id) return reference + ":Command " + id;
         return null;
     }
 
-    public void determineCheckpoints(int[] aStatistics){
+    public void determineCheckpoints(int[] aStatistics) {
         _analysis.determineCheckpoints(aStatistics);
     }
 
-    public StaticAnalysis getAnalysis(){
+    public StaticAnalysis getAnalysis() {
         return _analysis;
     }
 }
diff --git a/src/main/java/tmltranslator/tomappingsystemc2/TML2MappingSystemC.java b/src/main/java/tmltranslator/tomappingsystemc2/TML2MappingSystemC.java
index dad6681a601b2ede4e945e67273212f21bcb9f35..5d24b911b680dda1aed45a0d788561526337990c 100644
--- a/src/main/java/tmltranslator/tomappingsystemc2/TML2MappingSystemC.java
+++ b/src/main/java/tmltranslator/tomappingsystemc2/TML2MappingSystemC.java
@@ -193,7 +193,7 @@ public class TML2MappingSystemC implements IDiploSimulatorCodeGenerator {
                     //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);
+                //TraceManager.addDev("cores " + exNode.nbOfCores);
                 for (int cores = 0; cores < exNode.nbOfCores; cores++) {
                     //for(int cores=0; cores<1; cores++){
                     //if (tmlmapping.isAUsedHwNode(node)) {
@@ -344,7 +344,7 @@ public class TML2MappingSystemC implements IDiploSimulatorCodeGenerator {
             }
             //param += "," + evt.getNbOfParams();
             if (tmlmapping.isCommNodeMappedOn(evt, null)) {
-                TraceManager.addDev("Evt: " + evt.getName());
+                //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 {
@@ -363,7 +363,7 @@ public class TML2MappingSystemC implements IDiploSimulatorCodeGenerator {
                 TMLRequest req = task.getRequest();
                 if (tmlmapping.isCommNodeMappedOn(req, null)) {
                     //declaration += "TMLEventBChannel* reqChannel_"+ task.getName() + " = new TMLEventBChannel(" +
-                    TraceManager.addDev("Request: " + req.getName());
+                    //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;
@@ -497,12 +497,12 @@ public class TML2MappingSystemC implements IDiploSimulatorCodeGenerator {
         declaration += "}\n};\n\n" + tepeTranslator.getEqFuncs();
         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)
+        //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;
           for(EBRDD ebrdd: ebrdds){
@@ -605,38 +605,38 @@ public class TML2MappingSystemC implements IDiploSimulatorCodeGenerator {
         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:");
+        //TraceManager.addDev(commElemToRoute.getName() + " is mapped on:");
         for (HwCommunicationNode commElem : path) {
             TraceManager.addDev(commElem.getName());
         }
-        TraceManager.addDev("number of elements: " + hopNum);
-        TraceManager.addDev("masters: " + masters.str);
-        TraceManager.addDev("slaves: " + slaves.str);
+        //TraceManager.addDev("number of elements: " + hopNum);
+        //TraceManager.addDev("masters: " + masters.str);
+        //TraceManager.addDev("slaves: " + slaves.str);
         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) {
         //first called with Maping:getCommunicationNodes
         LinkedList<HwCommunicationNode> nodesToExplore;
-        TraceManager.addDev("No of comm nodes " + commNodes.size());
-        TraceManager.addDev("startNode=" + startNode);
+        //TraceManager.addDev("No of comm nodes " + commNodes.size());
+        //TraceManager.addDev("startNode=" + startNode);
         boolean busExploreMode = ((depth & 1) == 0);
         //if (depth % 2 == 0){
         if (busExploreMode) {
-            TraceManager.addDev("search for buses connected to " + startNode.getName());
+            //TraceManager.addDev("search for buses connected to " + startNode.getName());
             nodesToExplore = getBusesConnectedToNode(commNodes, startNode);
         } else {
-            TraceManager.addDev("search for bridges connected to: " + startNode.getName());
+            //TraceManager.addDev("search for bridges connected to: " + startNode.getName());
             nodesToExplore = getBridgesConnectedToBus(commNodes, (HwBus) startNode);
         }
         //HwMemory memory = null;
-        TraceManager.addDev("no of elements found: " + nodesToExplore.size());
+        //TraceManager.addDev("no of elements found: " + nodesToExplore.size());
         for (HwCommunicationNode currNode : nodesToExplore) {
             //memory = null;
             if (busExploreMode) {
                 //memory = getMemConnectedToBusChannelMapped(commNodes, (HwBus)currNode, commElemToRoute);
                 if (isBusConnectedToNode(currNode, destNode)) {
-                    TraceManager.addDev(currNode.getName() + " is last node");
+                    //TraceManager.addDev(currNode.getName() + " is last node");
                     path.add(currNode);
                     //if (memory!=null) path.add(memory);
                     commNodes.remove(currNode);
@@ -644,7 +644,7 @@ public class TML2MappingSystemC implements IDiploSimulatorCodeGenerator {
                 }
             }
             if (tmlmapping.isCommNodeMappedOn(commElemToRoute, currNode)) {
-                TraceManager.addDev(currNode.getName() + " mapping found for " + commElemToRoute.getName());
+                //TraceManager.addDev(currNode.getName() + " mapping found for " + commElemToRoute.getName());
                 path.add(currNode);
                 //if (memory!=null) path.add(memory);
                 commNodes.remove(currNode);
@@ -660,7 +660,7 @@ public class TML2MappingSystemC implements IDiploSimulatorCodeGenerator {
             //if (memory!=null) path.add(memory);
             commNodes.remove(currNode);
             //for (int i=0; i<path.size(); i++) System.out.print("  ");
-            TraceManager.addDev(currNode.getName());
+            //TraceManager.addDev(currNode.getName());
             if (exploreBuses(depth + 1, commNodes, path, currNode, destNode, commElemToRoute)) return true;
             path.remove(currNode);
             //if (memory!=null) path.remove(memory);
@@ -672,9 +672,10 @@ public class TML2MappingSystemC implements IDiploSimulatorCodeGenerator {
     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) {
+                    //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;
diff --git a/src/main/java/ui/GTMLModeling.java b/src/main/java/ui/GTMLModeling.java
index 8fda772d1d593561dd03fe342de5f855ea04bd5f..fdd7ee11e926266b2f53e4d9aaf56f9341ce0656 100755
--- a/src/main/java/ui/GTMLModeling.java
+++ b/src/main/java/ui/GTMLModeling.java
@@ -912,7 +912,7 @@ public class GTMLModeling  {
                                         channel.setLossy(true, port1.getLossPercentage(), port1.getMaxNbOfLoss());
                                     }
 
-                                    //complex channels are used only for transformation towards the simulator
+                                    // Complex channels are used only for transformation towards the simulator
                                     TMLPort tmlport1, tmlport2;
                                     tmlport1 = new TMLPort( port1.getPortName(), port1 );
                                     tmlport1.setPrex( port1.isPrex() );
diff --git a/src/main/java/ui/GTURTLEModeling.java b/src/main/java/ui/GTURTLEModeling.java
index 5bbc930c201d9515c1540e4705b18bae9d8a4f12..28b4ab86dbd64ddcd9f8bb2b2c1af5beacc9253e 100755
--- a/src/main/java/ui/GTURTLEModeling.java
+++ b/src/main/java/ui/GTURTLEModeling.java
@@ -452,7 +452,7 @@ public class GTURTLEModeling {
         }
     }
 
-    public boolean generateCCode(String directory) {
+    public boolean generateCCode(String directory, String compilationOptions) {
 
         //CheckingError ce;
         //int type;
@@ -740,7 +740,7 @@ public class GTURTLEModeling {
     }
 
     public TMLMapping<TGComponent> drawFirewall(TMLMapping<TGComponent> map) {
-      //  System.out.println("DRAWING FIREWALL");
+        //  System.out.println("DRAWING FIREWALL");
         TGComponent comp = map.getTMLModeling().getTGComponent();
         TMLComponentDesignPanel tmlcdp = (TMLComponentDesignPanel) comp.getTDiagramPanel().tp;
         // TMLComponentDesignPanel tmlcdp = map.getTMLCDesignPanel();
@@ -1981,7 +1981,8 @@ public class GTURTLEModeling {
         return autoSecure(gui, name, map, newarch, "100", "0", "100", true, false, false);
     }
 
-    public TMLMapping<TGComponent> autoSecure(MainGUI gui, String name, TMLMapping<TGComponent> map, TMLArchiPanel newarch, boolean autoConf, boolean autoWeakAuth, boolean autoStrongAuth) {
+    public TMLMapping<TGComponent> autoSecure(MainGUI gui, String name, TMLMapping<TGComponent> map, TMLArchiPanel newarch, boolean autoConf,
+                                              boolean autoWeakAuth, boolean autoStrongAuth) {
         return autoSecure(gui, name, map, newarch, "100", "0", "100", autoConf, autoWeakAuth, autoStrongAuth);
     }
 
@@ -1996,7 +1997,8 @@ public class GTURTLEModeling {
         return autoSecure(gui, "enc", tmap, newarch, encComp, overhead, decComp, true, false, false);
     }
 
-    public TMLMapping<TGComponent> autoSecure(MainGUI gui, String encComp, String overhead, String decComp, boolean autoConf, boolean autoWeakAuth, boolean autoStrongAuth) {
+    public TMLMapping<TGComponent> autoSecure(MainGUI gui, String encComp, String overhead, String decComp, boolean autoConf, boolean autoWeakAuth,
+                                              boolean autoStrongAuth) {
         if (tmap == null) {
             return null;
         }
@@ -2007,7 +2009,8 @@ public class GTURTLEModeling {
         return autoSecure(gui, "enc", tmap, newarch, encComp, overhead, decComp, autoConf, autoWeakAuth, autoStrongAuth);
     }
 
-    public TMLMapping<TGComponent> autoSecure(MainGUI gui, String name, TMLMapping<TGComponent> map, TMLArchiPanel newarch, String encComp, String overhead, String decComp) {
+    public TMLMapping<TGComponent> autoSecure(MainGUI gui, String name, TMLMapping<TGComponent> map, TMLArchiPanel newarch, String encComp, String
+            overhead, String decComp) {
         return autoSecure(gui, name, tmap, newarch, encComp, overhead, decComp, true, false, false);
     }
 
@@ -7189,7 +7192,7 @@ public class GTURTLEModeling {
             tdp.updateSize();
             zoom = Double.parseDouble(elt.getAttribute("zoom"));
             if (zoom != 0) {
-                tdp.setZoom(zoom);
+                tdp.forceZoom(zoom);
                 mgui.updateZoomInfo();
             }
         } catch (Exception e) {
@@ -7907,7 +7910,7 @@ public class GTURTLEModeling {
             tdp.updateSize();
             zoom = Double.parseDouble(elt.getAttribute("zoom"));
             if (zoom != 0) {
-                tdp.setZoom(zoom);
+                tdp.forceZoom(zoom);
                 mgui.updateZoomInfo();
             }
         } catch (Exception e) {
@@ -9144,8 +9147,8 @@ public class GTURTLEModeling {
         gtmlm.setTasks(tasksToTakeIntoAccount);
         tmlm = gtmlm.translateToTMLModeling(true);
         //tmlm.removeAllRandomSequences();
-        TraceManager.addDev("New TML Modeling:" + tmlm.toString());
-        mgui.generateTMLTxt();
+        //TraceManager.addDev("New TML Modeling:" + tmlm.toString());
+        //mgui.generateTMLTxt();
         artificialtmap = tmlm.getDefaultMapping();
         tmap = null;
         listE = gtmlm.getCorrespondanceTable();
@@ -9197,7 +9200,7 @@ public class GTURTLEModeling {
         gctmlm.putPrefixName(true);
         gctmlm.setComponents(componentsToTakeIntoAccount);
         tmlm = gctmlm.translateToTMLModeling(true);
-        mgui.generateTMLTxt();
+        //mgui.generateTMLTxt();
         artificialtmap = tmlm.getDefaultMapping();
         tmap = null;
         listE = gctmlm.getCorrespondanceTable();
diff --git a/src/main/java/ui/TDiagramMouseManager.java b/src/main/java/ui/TDiagramMouseManager.java
index c2f7f308527804c78c63afb1e2d4ca8461e6547b..a93cbf93c5d451ad89325b6102692ba6e01021a4 100755
--- a/src/main/java/ui/TDiagramMouseManager.java
+++ b/src/main/java/ui/TDiagramMouseManager.java
@@ -44,6 +44,7 @@ import java.awt.*;
 import java.awt.event.MouseAdapter;
 import java.awt.event.MouseEvent;
 import java.util.ArrayList;
+import myutil.*;
 
 /**
  * Class TDiagramMouseManager
@@ -597,6 +598,8 @@ public class TDiagramMouseManager extends MouseAdapter {//implements MouseListen
 
     @Override
     public void mouseDragged(MouseEvent e) {
+        //TraceManager.addDev("Mode=" +tdp.mode);
+
         if (tdp.mode == TDiagramPanel.MOVING_COMPONENT) {
             tgc.setMoveCd(e.getX() - decx, e.getY() - decy);
             tdp.repaint();
diff --git a/src/main/java/ui/TDiagramPanel.java b/src/main/java/ui/TDiagramPanel.java
index 5f129409011a113362ef81a5c78aa2198e0dda79..d19697e2f1f2df753f686c8ba6762db00600b7f1 100755
--- a/src/main/java/ui/TDiagramPanel.java
+++ b/src/main/java/ui/TDiagramPanel.java
@@ -1,26 +1,26 @@
 /* Copyright or (C) or Copr. GET / ENST, Telecom-Paris, Ludovic Apvrille
- * 
+ *
  * ludovic.apvrille AT enst.fr
- * 
+ *
  * This software is a computer program whose purpose is to allow the
  * edition of TURTLE analysis, design and deployment diagrams, to
  * allow the generation of RT-LOTOS or Java code from this diagram,
  * and at last to allow the analysis of formal validation traces
  * obtained from external tools, e.g. RTL from LAAS-CNRS and CADP
  * from INRIA Rhone-Alpes.
- * 
+ *
  * This software is governed by the CeCILL  license under French law and
  * abiding by the rules of distribution of free software.  You can  use,
  * modify and/ or redistribute the software under the terms of the CeCILL
  * license as circulated by CEA, CNRS and INRIA at the following URL
  * "http://www.cecill.info".
- * 
+ *
  * As a counterpart to the access to the source code and  rights to copy,
  * modify and redistribute granted by the license, users are provided only
  * with a limited warranty  and the software's author,  the holder of the
  * economic rights,  and the successive licensors  have only  limited
  * liability.
- * 
+ *
  * In this respect, the user's attention is drawn to the risks associated
  * with loading,  using,  modifying and/or developing or reproducing the
  * software by the user in light of its specific status of free software,
@@ -31,7 +31,7 @@
  * requirements in conditions enabling the security of their systems and/or
  * data to be ensured and,  more generally, to use and operate it in the
  * same conditions as regards security.
- * 
+ *
  * The fact that you are presently reading this means that you have had
  * knowledge of the CeCILL license and that you accept its terms.
  */
@@ -312,7 +312,13 @@ public abstract class TDiagramPanel extends JPanel implements GenericTree {
         return this.savedFontMetrics.stringWidth(str);
     }
 
+    public void forceZoom(double _zoom) {
+        zoom = _zoom;
+    }
+
     public void setZoom(double _zoom) {
+        //TraceManager.addDev("Begin Setting zoom of " + getName() + " to " + zoom + " current zoom=" + zoom + " maxX=" + maxX + " maxY=" + maxY);
+
         final double zoomChange = _zoom / zoom;
 
         if (_zoom < zoom) {
@@ -339,6 +345,8 @@ public abstract class TDiagramPanel extends JPanel implements GenericTree {
         }
 
         updateComponentsAfterZoom();
+
+        //TraceManager.addDev("end Setting zoom of " + getName() + " to " + zoom + " maxX=" + maxX + " maxY=" + maxY);
     }
 
     public boolean isDrawingMain() {
@@ -350,6 +358,8 @@ public abstract class TDiagramPanel extends JPanel implements GenericTree {
         boolean change = false;
 
         for (TGComponent tgc : this.componentList) {
+            //TraceManager.addDev("Testing for " + tgc.getClass());
+
             if (tgc instanceof ScalableTGComponent) {
                 ((ScalableTGComponent) tgc).rescale(zoom);
                 change = true;
@@ -358,7 +368,6 @@ public abstract class TDiagramPanel extends JPanel implements GenericTree {
 
         if (change) {
             mgui.changeMade(this, MOVE_COMPONENT);
-
             repaint();
         }
     }
@@ -520,6 +529,10 @@ public abstract class TDiagramPanel extends JPanel implements GenericTree {
                     Math.min(this.initSelectY, this.currentSelectY),
                     Math.abs(this.currentSelectX - this.initSelectX),
                     Math.abs(this.currentSelectY - this.initSelectY));
+            if (mgui.isExperimentalOn()) {
+                g.drawString("" + currentSelectX, this.currentSelectX, initSelectY + 10);
+                g.drawString("" + currentSelectY, initSelectX, currentSelectY);
+            }
         }
 
         if ((this.mode == SELECTED_COMPONENTS || this.mode == MOVING_SELECTED_COMPONENTS) && this.selectedTemp) {
@@ -675,15 +688,17 @@ public abstract class TDiagramPanel extends JPanel implements GenericTree {
 
     // Selecting components
     public int selectComponentInRectangle(int x, int y, int width, int height) {
-        //TraceManager.addDev("x=" + x + " y=" + y + " width=" +width + " height=" + height);
+        //TraceManager.addDev("select components in rectangle x=" + x + " y=" + y + " width=" +width + " height=" + height);
         int cpt = 0;
 
         for (TGComponent tgc : this.componentList) {
             if (tgc.areAllInRectangle(x, y, width, height)) {
                 tgc.select(true);
+                //TraceManager.addDev("Selection of " + tgc);
                 tgc.setState(TGState.SELECTED);
                 cpt++;
             } else {
+                //TraceManager.addDev("unselection of " + tgc);
                 tgc.select(false);
                 tgc.setState(TGState.NORMAL);
             }
@@ -1151,10 +1166,10 @@ public abstract class TDiagramPanel extends JPanel implements GenericTree {
     }
 
     public void updateSelectingComponents(int x, int y) {
-        x = Math.min(Math.max((int) Math.floor(minLimit * zoom), x), (int) Math.ceil(maxX * zoom));
-        y = Math.min(Math.max((int) Math.floor(minLimit * zoom), y), (int) Math.ceil(maxY * zoom));
-        //x = Math.min(Math.max(minLimit, x), maxX);
-        //y = Math.min(Math.max(minLimit, y), maxY);
+        //x = Math.min(Math.max((int) Math.floor(minLimit * zoom), x), (int) Math.ceil(maxX * zoom));
+        //y = Math.min(Math.max((int) Math.floor(minLimit * zoom), y), (int) Math.ceil(maxY * zoom));
+        x = Math.min(Math.max(minLimit, x), maxX);
+        y = Math.min(Math.max(minLimit, y), maxY);
         currentSelectX = x;
         currentSelectY = y;
 
@@ -1170,6 +1185,7 @@ public abstract class TDiagramPanel extends JPanel implements GenericTree {
             mgui.actions[TGUIAction.MOVE_ENABLED].setEnabled(false);
             mgui.actions[TGUIAction.ACT_DELETE].setEnabled(false);
         } else {
+            TraceManager.addDev("Number of selected components:" + nb);
             mode = SELECTED_COMPONENTS;
             mgui.setMode(MainGUI.CUTCOPY_OK);
             mgui.setMode(MainGUI.EXPORT_LIB_OK);
@@ -1259,8 +1275,14 @@ public abstract class TDiagramPanel extends JPanel implements GenericTree {
         xSel = x;
         ySel = y;
         for (TGComponent tgc : this.componentList)
-            if (tgc.isSelected())
+            if (tgc.isSelected()) {
+                if ((xSel-oldX != 0 ) || (ySel-oldY != 0 )) {
+                    /*TraceManager.addDev("" + tgc + " is selected oldX=" + xSel +
+                            " oldY=" + oldY + " xSel=" + xSel + " ySel=" + ySel);*/
+                }
                 tgc.forceMove(xSel - oldX, ySel - oldY);
+
+            }
     }
 
     public TGComponent nextSelectedComponent() {
@@ -1832,7 +1854,7 @@ public abstract class TDiagramPanel extends JPanel implements GenericTree {
             if (componentPopup instanceof CheckableInvariant) {
 
                 TGComponent tmptgc = mgui.hasCheckableMasterMutex();
-                TraceManager.addDev("Element with Master mutex: " + tmptgc);
+                //TraceManager.addDev("Element with Master mutex: " + tmptgc);
                 if ((tmptgc != null) && (tmptgc != componentPopup)) {
                     tmptgc.setMasterMutex(false);
                 }
@@ -3065,9 +3087,9 @@ public abstract class TDiagramPanel extends JPanel implements GenericTree {
                     TGComponent tgc2 = componentList.get(j);
                     tgc2 = tgc2.getIfId(tgc1.getId());
                     if (tgc2 != null) {
-                        TraceManager.addDev("*** Same ID ***");
-                        TraceManager.addDev("tgc1" + tgc1.getClass());
-                        TraceManager.addDev("tgc2" + tgc2.getClass());
+                        //TraceManager.addDev("*** Same ID ***");
+                        //TraceManager.addDev("tgc1" + tgc1.getClass());
+                        //TraceManager.addDev("tgc2" + tgc2.getClass());
                     }
                 }
         }
@@ -3496,9 +3518,9 @@ public abstract class TDiagramPanel extends JPanel implements GenericTree {
 
         RepaintManager.currentManager(this).setDoubleBufferingEnabled(false);
         //this.paint(svgg);
-        TraceManager.addDev("Painting for svg");
+        //TraceManager.addDev("Painting for svg");
         basicPaintMyComponents(svgg);
-        TraceManager.addDev("Painting for svg done");
+        //TraceManager.addDev("Painting for svg done");
         sb.append(svgg.getSVGString());
         RepaintManager.currentManager(this).setDoubleBufferingEnabled(true);
 
diff --git a/src/main/java/ui/TGCPanelInfo.java b/src/main/java/ui/TGCPanelInfo.java
index c7598d8a8551a47f2ea08f9db10c7b790aba1e6e..05baff97a710197ea8e32e856bd984a597a4cd2b 100755
--- a/src/main/java/ui/TGCPanelInfo.java
+++ b/src/main/java/ui/TGCPanelInfo.java
@@ -185,7 +185,7 @@ public class TGCPanelInfo extends TGCScalableWithoutInternalComponent {
 		     xStr += width/2 - w/2; yStr += marginY + currentFontSize; break;
 		}
 	
-		TraceManager.addDev("Color=" + c);
+		//TraceManager.addDev("Color=" + c);
 		if (!(c == ColorManager.POINTER_ON_ME_0)) {
 		    g.setColor(textColor);
 		}
diff --git a/src/main/java/ui/TGCScalableWithInternalComponent.java b/src/main/java/ui/TGCScalableWithInternalComponent.java
index fed2abb5623bb5806cafcded420ce861c197e559..a5c9f992f7723cb82392d62b87f1f36ea85f4d40 100755
--- a/src/main/java/ui/TGCScalableWithInternalComponent.java
+++ b/src/main/java/ui/TGCScalableWithInternalComponent.java
@@ -38,6 +38,8 @@
 
 package ui;
 
+import myutil.TraceManager;
+
 /**
    * Class TGCScalableWithInternalComponent
    * Graphical component that contains one or more internal components, and which is scalable
@@ -55,6 +57,9 @@ public abstract class TGCScalableWithInternalComponent extends TGCWithInternalCo
 
     @Override
     public void rescale(double scaleFactor){
+        /*TraceManager.addDev("rescaling for " + this.getClass() + " with oldScaleFactor=" + oldScaleFactor +
+                " new scale factor = " + scaleFactor + " dx=" + dx + " dy=" + dy +
+                " x=" + x + " y=" + y + " width=" + width + " height=" + height);*/
         rescaled = true;
 
         dwidth = (width + dwidth) / oldScaleFactor * scaleFactor;
@@ -87,15 +92,18 @@ public abstract class TGCScalableWithInternalComponent extends TGCWithInternalCo
         y = (int)(dy);
         dy = dy - y;
 
+        //TraceManager.addDev("x=" + x + " y=" + y + " width=" + width + " height=" + height);
+
         oldScaleFactor = scaleFactor;
 
         if (father != null) {
             // Must rescale my zone...
             resizeWithFather();
-
         }
 
-        setMoveCd(x, y);
+        setMoveCd(x, y, true);
+
+        //TraceManager.addDev("x=" + x + " y=" + y + " width=" + width + " height=" + height);
 
         for(int i=0; i<nbInternalTGComponent; i++) {
             if (tgcomponent[i] instanceof ScalableTGComponent) {
diff --git a/src/main/java/ui/TGCScalableWithoutInternalComponent.java b/src/main/java/ui/TGCScalableWithoutInternalComponent.java
index d7354b755de5b1b980e93e9d879eca53eae79bd6..b20234cc5a626e6d3d9835e223af23e8eb867e73 100755
--- a/src/main/java/ui/TGCScalableWithoutInternalComponent.java
+++ b/src/main/java/ui/TGCScalableWithoutInternalComponent.java
@@ -99,7 +99,7 @@ public abstract class TGCScalableWithoutInternalComponent extends TGCWithoutInte
             resizeWithFather();
         }
 	
-        setMoveCd(x, y);
+        setMoveCd(x, y, true);
     }
 
     public void initScaling(int w, int h) {
diff --git a/src/main/java/ui/TGComponent.java b/src/main/java/ui/TGComponent.java
index 5576a0745fb8034b30154b440a38bcb95ee4396f..b42f47bb8094e5bc9f1e0326564d0091cd866ca6 100755
--- a/src/main/java/ui/TGComponent.java
+++ b/src/main/java/ui/TGComponent.java
@@ -2415,8 +2415,13 @@ public abstract class TGComponent implements CDElement, GenericTree {
         int oldY = y;
        
        // if ( father != null && drawingZoneRelativeToFather ) {
-        	x = verifyMoveCdX(_x);
-        	y = verifyMoveCdY(_y);
+        if (!forceMove) {
+            x = verifyMoveCdX(_x);
+            y = verifyMoveCdY(_y);
+        } else {
+            x = _x;
+            y = _y;
+        }
         /*}
         
         else {
@@ -2455,15 +2460,14 @@ public abstract class TGComponent implements CDElement, GenericTree {
      *
      *
      */
-    public final void fatherHasMoved(int dx, int dy)
-    {  //System.out.println("father has moved");
+    public final void fatherHasMoved(int dx, int dy)  {  //System.out.println("father has moved");
         TGComponent tgc;
-        int oldX=x;
-        int oldY=y;
-        x = x+dx;
-        y = y+dy;
+        int oldX = x;
+        int oldY = y;
+        x = x + dx;
+        y = y + dy;
 
-        for(int i=0; i<nbInternalTGComponent; i++) {
+        for (int i=0; i<nbInternalTGComponent; i++) {
             tgc = tgcomponent[i];
             if (tgc.moveWithFather()) {
                 tgc.fatherHasMoved(x-oldX, y-oldY);
diff --git a/src/main/java/ui/avatarad/AvatarADJunction.java b/src/main/java/ui/avatarad/AvatarADJunction.java
index fe24a1d2c42a49158f78d291f9648669e749fc14..da184855f6160a4612d9c4756e472263fc8d1cca 100755
--- a/src/main/java/ui/avatarad/AvatarADJunction.java
+++ b/src/main/java/ui/avatarad/AvatarADJunction.java
@@ -37,11 +37,12 @@
  */
 
 
-
-
 package ui.avatarad;
 
-import ui.*;
+import ui.TDiagramPanel;
+import ui.TGComponent;
+import ui.TGComponentManager;
+import ui.TGConnectingPoint;
 import ui.util.IconManager;
 
 import java.awt.*;
@@ -49,21 +50,22 @@ import java.awt.geom.Line2D;
 
 
 /**
-   * Class AvatarADJunction
-   * Junction between several activities, without any synchronization. To be used in avatar activity diagrams
-   * Creation: 02/09/2011
-   * @version 1.1 09/02/2017
-   * @author Ludovic APVRILLE
+ * Class AvatarADJunction
+ * Junction between several activities, without any synchronization. To be used in avatar activity diagrams
+ * Creation: 02/09/2011
+ *
+ * @author Ludovic APVRILLE
+ * @version 1.1 09/02/2017
  */
 public class AvatarADJunction extends AvatarADBasicComponent {
 
     protected int range = 5;
 
-    public AvatarADJunction(int _x, int _y, int _minX, int _maxX, int _minY, int _maxY, boolean _pos, TGComponent _father, TDiagramPanel _tdp)  {
+    public AvatarADJunction(int _x, int _y, int _minX, int _maxX, int _minY, int _maxY, boolean _pos, TGComponent _father, TDiagramPanel _tdp) {
         super(_x, _y, _minX, _maxX, _minY, _maxY, _pos, _father, _tdp);
 
-	initScaling(30, 30);
-	oldScaleFactor = tdp.getZoom();
+        initScaling(30, 30);
+        oldScaleFactor = tdp.getZoom();
 
         nbConnectingPoint = 22;
         connectingPoint = new TGConnectingPoint[nbConnectingPoint];
@@ -101,29 +103,28 @@ public class AvatarADJunction extends AvatarADBasicComponent {
     }
 
 
-
     public void internalDrawing(Graphics g) {
         //g.drawLine(x +width/2, y,  x+width/2, y + height);
         //g.drawLine(x, y + (height/2), x+width, y + (height/2));
 
-        g.drawLine(x +width/2, y,  x+width/2, y + height / 2 - range);
-        g.drawLine(x +width/2, y + height/2 + range,  x+width/2, y + height);
-        g.drawLine(x, y + (height/2), x+width/2 - range, y + (height/2));
-        g.drawLine(x + width/2 + range, y + (height/2), x+width, y + (height/2));
+        g.drawLine(x + width / 2, y, x + width / 2, y + height / 2 - range);
+        g.drawLine(x + width / 2, y + height / 2 + range, x + width / 2, y + height);
+        g.drawLine(x, y + (height / 2), x + width / 2 - range, y + (height / 2));
+        g.drawLine(x + width / 2 + range, y + (height / 2), x + width, y + (height / 2));
 
-        g.drawLine(x+width/2, y + height / 2 - range, x+width/2-range, y+height/2);
-        g.drawLine(x+width/2, y + height / 2 - range, x+width/2+range, y+height/2);
-        g.drawLine(x+width/2-range, y + height / 2, x+width/2, y+height/2+range);
-        g.drawLine(x+width/2+range, y + height / 2, x+width/2, y+height/2+range);
+        g.drawLine(x + width / 2, y + height / 2 - range, x + width / 2 - range, y + height / 2);
+        g.drawLine(x + width / 2, y + height / 2 - range, x + width / 2 + range, y + height / 2);
+        g.drawLine(x + width / 2 - range, y + height / 2, x + width / 2, y + height / 2 + range);
+        g.drawLine(x + width / 2 + range, y + height / 2, x + width / 2, y + height / 2 + range);
     }
 
     public TGComponent isOnMe(int _x, int _y) {
         // vertical line
-        if ((int)(Line2D.ptSegDistSq(x +width/2, y,  x+width/2, y + height, _x, _y)) < distanceSelected) {
+        if ((int) (Line2D.ptSegDistSq(x + width / 2, y, x + width / 2, y + height, _x, _y)) < distanceSelected) {
             return this;
         }
         // horizontal line
-        if ((int)(Line2D.ptSegDistSq(x, y + (height/2), x+width, y + (height/2), _x, _y)) < distanceSelected) {
+        if ((int) (Line2D.ptSegDistSq(x, y + (height / 2), x + width, y + (height / 2), _x, _y)) < distanceSelected) {
             return this;
         }
         return null;
diff --git a/src/main/java/ui/avatarbd/AvatarBDPanel.java b/src/main/java/ui/avatarbd/AvatarBDPanel.java
index ca5cad03ee8a5da0dd9106a94f472df3b81f3c17..501cf92dabbc2d1466e5575b4f066ecb86f61b82 100644
--- a/src/main/java/ui/avatarbd/AvatarBDPanel.java
+++ b/src/main/java/ui/avatarbd/AvatarBDPanel.java
@@ -181,7 +181,7 @@ public class AvatarBDPanel extends TDiagramPanel {
     }
 
     public String getXMLHead() {
-        return "<AVATARBlockDiagramPanel name=\"" + name + "\"" + sizeParam()  +" >\n" + displayParam();
+        return "<AVATARBlockDiagramPanel name=\"" + name + "\"" + sizeParam()  + zoomParam() + " >\n" + displayParam();
     }
 
     public String getXMLTail() {
diff --git a/src/main/java/ui/avatarbd/AvatarBDPerformancePragma.java b/src/main/java/ui/avatarbd/AvatarBDPerformancePragma.java
index d8c92c722780971a9fa3fcff8612e892329a1e8a..8e42e8ab7f04366f230777631efbad2f6598652a 100644
--- a/src/main/java/ui/avatarbd/AvatarBDPerformancePragma.java
+++ b/src/main/java/ui/avatarbd/AvatarBDPerformancePragma.java
@@ -37,8 +37,6 @@
  */
 
 
-
-
 package ui.avatarbd;
 
 import myutil.Conversion;
@@ -52,18 +50,18 @@ import ui.window.JDialogPerformancePragma;
 
 import javax.swing.*;
 import java.awt.*;
-import java.util.Arrays;
+import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.LinkedList;
 import java.util.Map;
-import java.util.ArrayList;
 
 /**
-   * Class Pragma
-   * Like a Note but with Pragma
-   * Creation: 06/12/2003
-   * @version 1.0 06/12/2003
-   * @author Ludovic APVRILLE, Letitia LI
+ * Class Pragma
+ * Like a Note but with Pragma
+ * Creation: 06/12/2003
+ *
+ * @author Ludovic APVRILLE, Letitia LI
+ * @version 1.0 06/12/2003
  */
 public class AvatarBDPerformancePragma extends TGCScalableWithoutInternalComponent {
 
@@ -76,51 +74,52 @@ public class AvatarBDPerformancePragma extends TGCScalableWithoutInternalCompone
     protected int limit = 15;
     protected int lockX = 1;
     protected int lockY = 5;
-	public ArrayList<String> syntaxErrors;
+    public ArrayList<String> syntaxErrors;
     protected Graphics myg;
 
     protected Color myColor;
 
     private Font myFont;//, myFontB;
-//    private int maxFontSize = 30;
+    //    private int maxFontSize = 30;
 //    private int minFontSize = 4;
     private int currentFontSize = -1;
     private final String[] pPragma = {"A[]", "A<>", "E[]", "E<>"};
     public Map<String, String> verifMap = new HashMap<String, String>();
 
     protected Graphics graphics;
-    public AvatarBDPerformancePragma(int _x, int _y, int _minX, int _maxX, int _minY, int _maxY, boolean _pos, TGComponent _father, TDiagramPanel _tdp)  {
+
+    public AvatarBDPerformancePragma(int _x, int _y, int _minX, int _maxX, int _minY, int _maxY, boolean _pos, TGComponent _father, TDiagramPanel _tdp) {
         super(_x, _y, _minX, _maxX, _minY, _maxY, _pos, _father, _tdp);
         width = 200;
         height = 30;
         minWidth = 80;
         minHeight = 10;
-	properties = new LinkedList<String>();
+        properties = new LinkedList<String>();
         oldScaleFactor = tdp.getZoom();
 
         nbConnectingPoint = 0;
         //addTGConnectingPointsComment();
-	int len = makeTGConnectingPointsComment(16);
-	int decw = 0;
-	int dech = 0;
-	for(int i=0; i<2; i++) {
-	    connectingPoint[len] = new TGConnectingPointComment(this, 0, 0, true, true, 0.0 + decw, 0.0 + dech);
-	    connectingPoint[len + 1 ] = new TGConnectingPointComment(this, 0, 0, true, true, 0.5 + decw, 0.0 + dech);
-	    connectingPoint[len + 2 ] = new TGConnectingPointComment(this, 0, 0, true, true, 1.0 + decw, 0.0 + dech);
-	    connectingPoint[len + 3 ] = new TGConnectingPointComment(this, 0, 0, true, true, 0.0 + decw, 0.5 + dech);
-	    connectingPoint[len + 4 ] = new TGConnectingPointComment(this, 0, 0, true, true, 1.0 + decw, 0.5 + dech);
-	    connectingPoint[len + 5 ] = new TGConnectingPointComment(this, 0, 0, true, true, 0.0 + decw, 1.0 + dech);
-	    connectingPoint[len + 6 ] = new TGConnectingPointComment(this, 0, 0, true, true, 0.5 + decw, 1.0 + dech);
-	    connectingPoint[len + 7 ] = new TGConnectingPointComment(this, 0, 0, true, true, 0.9 + decw, 1.0 + dech);
-	    len += 8;
-	}
+        int len = makeTGConnectingPointsComment(16);
+        int decw = 0;
+        int dech = 0;
+        for (int i = 0; i < 2; i++) {
+            connectingPoint[len] = new TGConnectingPointComment(this, 0, 0, true, true, 0.0 + decw, 0.0 + dech);
+            connectingPoint[len + 1] = new TGConnectingPointComment(this, 0, 0, true, true, 0.5 + decw, 0.0 + dech);
+            connectingPoint[len + 2] = new TGConnectingPointComment(this, 0, 0, true, true, 1.0 + decw, 0.0 + dech);
+            connectingPoint[len + 3] = new TGConnectingPointComment(this, 0, 0, true, true, 0.0 + decw, 0.5 + dech);
+            connectingPoint[len + 4] = new TGConnectingPointComment(this, 0, 0, true, true, 1.0 + decw, 0.5 + dech);
+            connectingPoint[len + 5] = new TGConnectingPointComment(this, 0, 0, true, true, 0.0 + decw, 1.0 + dech);
+            connectingPoint[len + 6] = new TGConnectingPointComment(this, 0, 0, true, true, 0.5 + decw, 1.0 + dech);
+            connectingPoint[len + 7] = new TGConnectingPointComment(this, 0, 0, true, true, 0.9 + decw, 1.0 + dech);
+            len += 8;
+        }
 
         moveable = true;
         editable = true;
         removable = true;
 
         name = "Performance Pragma";
-		syntaxErrors = new ArrayList<String>();
+        syntaxErrors = new ArrayList<String>();
         value = "";
 
         myImageIcon = IconManager.imgic6000;
@@ -129,8 +128,9 @@ public class AvatarBDPerformancePragma extends TGCScalableWithoutInternalCompone
     public String[] getValues() {
         return values;
     }
+
     public LinkedList<String> getProperties() {
-	return properties;
+        return properties;
     }
 
     public void internalDrawing(Graphics g) {
@@ -142,7 +142,7 @@ public class AvatarBDPerformancePragma extends TGCScalableWithoutInternalCompone
           }*/
 
         if (((rescaled) && (!tdp.isScaled())) || myFont == null) {
-            currentFontSize = tdp.getFontSize()+1;
+            currentFontSize = tdp.getFontSize() + 1;
             //System.out.println("Rescaled, font size = " + currentFontSize + " height=" + height);
             //            myFont = f.deriveFont((float)currentFontSize);
             //myFontB = myFont.deriveFont(Font.BOLD);
@@ -156,17 +156,17 @@ public class AvatarBDPerformancePragma extends TGCScalableWithoutInternalCompone
             makeValue();
         }
 
-      //  int h  = g.getFontMetrics().getHeight();
+        //  int h  = g.getFontMetrics().getHeight();
         Color c = g.getColor();
 
         int desiredWidth = minWidth;
-        desiredWidth = Math.max(desiredWidth, 2*g.getFontMetrics().stringWidth("Performance Pragma") + marginX+ textX);
-	
-        for(int i=0; i< values.length; i++) {
-            desiredWidth = Math.max(desiredWidth, g.getFontMetrics().stringWidth(values[i]) + marginX+textX);
+        desiredWidth = Math.max(desiredWidth, 2 * g.getFontMetrics().stringWidth("Performance Pragma") + marginX + textX);
+
+        for (int i = 0; i < values.length; i++) {
+            desiredWidth = Math.max(desiredWidth, g.getFontMetrics().stringWidth(values[i]) + marginX + textX);
         }
 
-        int desiredHeight = (properties.size()+2)*currentFontSize + textY + 1;
+        int desiredHeight = (properties.size() + 2) * currentFontSize + textY + 1;
 
         //TraceManager.addDev("resize: " + desiredWidth + "," + desiredHeight);
 
@@ -174,19 +174,19 @@ public class AvatarBDPerformancePragma extends TGCScalableWithoutInternalCompone
             resize(desiredWidth, desiredHeight);
         }
 
-        g.drawLine(x, y, x+width, y);
-        g.drawLine(x, y, x, y+height);
-        g.drawLine(x, y+height, x+width-limit, y+height);
-        g.drawLine(x+width, y, x+width, y+height - limit);
+        g.drawLine(x, y, x + width, y);
+        g.drawLine(x, y, x, y + height);
+        g.drawLine(x, y + height, x + width - limit, y + height);
+        g.drawLine(x + width, y, x + width, y + height - limit);
 
         g.setColor(ColorManager.PERFORMANCE_PRAGMA_BG);
-        int [] px1 = {x+1, x+width, x + width, x + width-limit, x+1};
-        int [] py1 = {y+1, y+1, y+height-limit, y+height, y+height};
+        int[] px1 = {x + 1, x + width, x + width, x + width - limit, x + 1};
+        int[] py1 = {y + 1, y + 1, y + height - limit, y + height, y + height};
         g.fillPolygon(px1, py1, 5);
         g.setColor(c);
 
-        int [] px = {x+width, x + width - 4, x+width-10, x + width-limit};
-        int [] py = {y+height-limit, y + height - limit + 3, y + height - limit + 2, y +height};
+        int[] px = {x + width, x + width - 4, x + width - 10, x + width - limit};
+        int[] py = {y + height - limit, y + height - limit + 3, y + height - limit + 2, y + height};
         g.drawPolygon(px, py, 4);
 
         if (g.getColor() == ColorManager.NORMAL_0) {
@@ -194,25 +194,25 @@ public class AvatarBDPerformancePragma extends TGCScalableWithoutInternalCompone
         }
         g.fillPolygon(px, py, 4);
 
-        g.setColor(Color.black);	
-	
-	int i = 1;
-	Font heading = new Font("heading", Font.BOLD, 14);
-	g.setFont(heading);
-	g.drawString("Performance Pragmas", x+textX, y+textY + currentFontSize);
-	g.setFont(fold);
-	for (String s: properties){
-	    g.drawString(s, x + textX, y + textY + (i+1)* currentFontSize);
-	    drawVerification(s, g, x+textX, y+textY + (i+1)* currentFontSize);
-		if (syntaxErrors.contains(s)){
-				Color ctmp= g.getColor();
-				g.setColor(Color.red);
-				g.drawLine(x+textX/2,y+textY*3/2 + i*currentFontSize, x+width-textX/2, y+textY*3/2 +(i+1)*currentFontSize);
-				g.drawLine(x+width-textX/2,y+textY*3/2 + i*currentFontSize, x+textX/2, y+textY*3/2 +(i+1)*currentFontSize);
-				g.setColor(ctmp);
-			}
-	    i++;
-	}
+        g.setColor(Color.black);
+
+        int i = 1;
+        Font heading = new Font("heading", Font.BOLD, 14);
+        g.setFont(heading);
+        g.drawString("Performance Pragmas", x + textX, y + textY + currentFontSize);
+        g.setFont(fold);
+        for (String s : properties) {
+            g.drawString(s, x + textX, y + textY + (i + 1) * currentFontSize);
+            drawVerification(s, g, x + textX, y + textY + (i + 1) * currentFontSize);
+            if (syntaxErrors.contains(s)) {
+                Color ctmp = g.getColor();
+                g.setColor(Color.red);
+                g.drawLine(x + textX / 2, y + textY * 3 / 2 + i * currentFontSize, x + width - textX / 2, y + textY * 3 / 2 + (i + 1) * currentFontSize);
+                g.drawLine(x + width - textX / 2, y + textY * 3 / 2 + i * currentFontSize, x + textX / 2, y + textY * 3 / 2 + (i + 1) * currentFontSize);
+                g.setColor(ctmp);
+            }
+            i++;
+        }
 
 /*        for (int i = 0; i<values.length; i++) {
             //TraceManager.addDev("x+texX=" + (x + textX) + " y+textY=" + y + textY + i* h + ": " + values[i]);
@@ -225,19 +225,17 @@ public class AvatarBDPerformancePragma extends TGCScalableWithoutInternalCompone
 
     public void makeValue() {
         values = Conversion.wrapText(value);
-	properties.clear();
-	for (String s: values){
-	    if (s.isEmpty()){
-		//Ignore
-	    }
-		else if (s.contains("Latency") && (s.contains("<") || s.contains(">") || s.contains("?")) ) {
-			properties.add(s);
-		}
-	    else {
-		//Warning Message
-				properties.add(s);
-	    }
-	}
+        properties.clear();
+        for (String s : values) {
+            if (s.isEmpty()) {
+                //Ignore
+            } else if (s.contains("Latency") && (s.contains("<") || s.contains(">") || s.contains("?"))) {
+                properties.add(s);
+            } else {
+                //Warning Message
+                properties.add(s);
+            }
+        }
         //checkMySize();
     }
 
@@ -256,17 +254,17 @@ public class AvatarBDPerformancePragma extends TGCScalableWithoutInternalCompone
       resize(desiredWidth, desiredHeight);
       }
       }*/
-  
-    
+
+
     public boolean editOndoubleClick(JFrame frame) {
         String oldValue = value;
 
         JDialogPerformancePragma jdn = new JDialogPerformancePragma(frame, "Setting the performance pragmas", value);
         //jdn.setLocation(200, 150);
         GraphicLib.centerOnParent(jdn);
-		AvatarBDPanel abdp = (AvatarBDPanel) tdp;
-		jdn.blockAttributeMap = abdp.getBlockStrings(true,true,true);
-        jdn.setVisible( true ); // blocked until dialog has been closed
+        AvatarBDPanel abdp = (AvatarBDPanel) tdp;
+        jdn.blockAttributeMap = abdp.getBlockStrings(true, true, true);
+        jdn.setVisible(true); // blocked until dialog has been closed
 
         String s = jdn.getText();
         if ((s != null) && (s.length() > 0) && (!s.equals(oldValue))) {
@@ -285,7 +283,7 @@ public class AvatarBDPerformancePragma extends TGCScalableWithoutInternalCompone
         return null;
     }
 
-    public void rescale(double scaleFactor){
+    public void rescale(double scaleFactor) {
         /*dlineHeight = (lineHeight + dlineHeight) / oldScaleFactor * scaleFactor;
           lineHeight = (int)(dlineHeight);
           dlineHeight = dlineHeight - lineHeight;
@@ -305,7 +303,7 @@ public class AvatarBDPerformancePragma extends TGCScalableWithoutInternalCompone
             makeValue();
         }
         StringBuffer sb = new StringBuffer("<extraparam>\n");
-        for(int i=0; i<values.length; i++) {
+        for (int i = 0; i < values.length; i++) {
             sb.append("<Line value=\"");
             sb.append(GTURTLEModeling.transformString(values[i]));
             sb.append("\" />\n");
@@ -313,48 +311,46 @@ public class AvatarBDPerformancePragma extends TGCScalableWithoutInternalCompone
         sb.append("</extraparam>\n");
         return new String(sb);
     }
-    private void drawVerification(String s, Graphics g, int _x, int _y){
+
+    private void drawVerification(String s, Graphics g, int _x, int _y) {
         Color c = g.getColor();
-     //   Color c1;
-		String status;
-		if (verifMap.containsKey(s)){
-	    	status = verifMap.get(s);
-	    	if (status.equals("PROVED_TRUE")){
-				g.setColor(Color.green);
-				int[] xp1 = new int[]{_x-35, _x-33, _x-27, _x-29};
-				int[] yp1 = new int[]{_y-3, _y-5, _y-1, _y+1};
-				int[] xp2 = new int[]{_x-29, _x-27, _x-18, _x-20};
-				int[] yp2 = new int[]{_y-1, _y+1, _y-8, _y-10};	
-				g.fillPolygon(xp1, yp1, 4);
-				g.fillPolygon(xp2, yp2, 4);
-	    	} 
-			else if (status.equals("PROVED_ERROR")){
-				Font f= g.getFont();
-				g.setFont(new Font("TimesRoman", Font.BOLD, 14)); 
-				g.drawString("?",_x-30,_y);
-				g.setFont(f);
-			}
-	    	else if (status.equals("PROVED_FALSE")){
-				g.setColor(Color.red);
-				int[] xp1 = new int[]{_x-32, _x-30, _x-21, _x-23};
-				int[] yp1 = new int[]{_y-12, _y-10, _y-2, _y};
-				int[] xp2 = new int[]{_x-30, _x-32, _x-23, _x-21};
-				int[] yp2 = new int[]{_y, _y-2, _y-12, _y-10};	
-				g.fillPolygon(xp1, yp1, 4);
-				g.fillPolygon(xp2, yp2, 4);
-	    	}
-			else {
-				Font f= g.getFont();
-				g.setFont(new Font("TimesRoman", Font.BOLD, 10)); 
-				g.drawString(status,_x-35,_y);
-				g.setFont(f);
-			}	
-		}
-		g.setColor(c);
+        //   Color c1;
+        String status;
+        if (verifMap.containsKey(s)) {
+            status = verifMap.get(s);
+            if (status.equals("PROVED_TRUE")) {
+                g.setColor(Color.green);
+                int[] xp1 = new int[]{_x - 35, _x - 33, _x - 27, _x - 29};
+                int[] yp1 = new int[]{_y - 3, _y - 5, _y - 1, _y + 1};
+                int[] xp2 = new int[]{_x - 29, _x - 27, _x - 18, _x - 20};
+                int[] yp2 = new int[]{_y - 1, _y + 1, _y - 8, _y - 10};
+                g.fillPolygon(xp1, yp1, 4);
+                g.fillPolygon(xp2, yp2, 4);
+            } else if (status.equals("PROVED_ERROR")) {
+                Font f = g.getFont();
+                g.setFont(new Font("TimesRoman", Font.BOLD, 14));
+                g.drawString("?", _x - 30, _y);
+                g.setFont(f);
+            } else if (status.equals("PROVED_FALSE")) {
+                g.setColor(Color.red);
+                int[] xp1 = new int[]{_x - 32, _x - 30, _x - 21, _x - 23};
+                int[] yp1 = new int[]{_y - 12, _y - 10, _y - 2, _y};
+                int[] xp2 = new int[]{_x - 30, _x - 32, _x - 23, _x - 21};
+                int[] yp2 = new int[]{_y, _y - 2, _y - 12, _y - 10};
+                g.fillPolygon(xp1, yp1, 4);
+                g.fillPolygon(xp2, yp2, 4);
+            } else {
+                Font f = g.getFont();
+                g.setFont(new Font("TimesRoman", Font.BOLD, 10));
+                g.drawString(status, _x - 35, _y);
+                g.setFont(f);
+            }
+        }
+        g.setColor(c);
     }
 
     @Override
-    public void loadExtraParam(NodeList nl, int decX, int decY, int decId) throws MalformedModelingException{
+    public void loadExtraParam(NodeList nl, int decX, int decY, int decId) throws MalformedModelingException {
         value = "";
         values = null;
         try {
@@ -363,12 +359,12 @@ public class AvatarBDPerformancePragma extends TGCScalableWithoutInternalCompone
             Element elt;
             String s;
 
-            for(int i=0; i<nl.getLength(); i++) {
+            for (int i = 0; i < nl.getLength(); i++) {
                 n1 = nl.item(i);
                 //System.out.println(n1);
                 if (n1.getNodeType() == Node.ELEMENT_NODE) {
                     nli = n1.getChildNodes();
-                    for(int j=0; j<nli.getLength(); j++) {
+                    for (int j = 0; j < nli.getLength(); j++) {
                         n2 = nli.item(j);
                         //System.out.println(n2);
                         if (n2.getNodeType() == Node.ELEMENT_NODE) {
diff --git a/src/main/java/ui/avatarbd/AvatarBDPragma.java b/src/main/java/ui/avatarbd/AvatarBDPragma.java
index fb6d3c5b25dfe988c1fe2fa868045d871e98303c..ba9ff94db2f17332cf13421a745f58d7b3039e1f 100755
--- a/src/main/java/ui/avatarbd/AvatarBDPragma.java
+++ b/src/main/java/ui/avatarbd/AvatarBDPragma.java
@@ -37,8 +37,6 @@
  */
 
 
-
-
 package ui.avatarbd;
 
 import myutil.Conversion;
@@ -49,6 +47,7 @@ import org.w3c.dom.NodeList;
 import ui.*;
 import ui.util.IconManager;
 import ui.window.JDialogPragma;
+import myutil.TraceManager;
 
 import javax.swing.*;
 import java.awt.*;
@@ -58,18 +57,19 @@ import java.util.HashMap;
 import java.util.LinkedList;
 
 /**
-   * Class Pragma
-   * Like a Note but with Pragma
-   * Creation: 06/12/2003
-   * @version 1.0 06/12/2003
-   * @author Ludovic APVRILLE, Letitia LI
+ * Class Pragma
+ * Like a Note but with Pragma
+ * Creation: 06/12/2003
+ *
+ * @author Ludovic APVRILLE, Letitia LI
+ * @version 1.0 06/12/2003
  */
 public class AvatarBDPragma extends TGCScalableWithoutInternalComponent {
 
     protected String[] values;
     protected LinkedList<String> models;
     protected LinkedList<String> properties;
-	public ArrayList<String> syntaxErrors;
+    public ArrayList<String> syntaxErrors;
     protected int textX = 25;
     protected int textY = 5;
     protected int marginY = 20;
@@ -82,52 +82,53 @@ public class AvatarBDPragma extends TGCScalableWithoutInternalComponent {
     protected Color myColor;
 
     private Font myFont;//, myFontB;
-   // private int maxFontSize = 30;
-   // private int minFontSize = 4;
+    // private int maxFontSize = 30;
+    // private int minFontSize = 4;
     private int currentFontSize = -1;
     private final String[] mPragma = {"#PublicConstant", "#PrivateConstant", "#InitialSystemKnowledge", "#InitialSessionKnowledge", "#PrivatePublicKeys", "#Public"};
     private final String[] pPragma = {"#Confidentiality", "#Secret", "#SecrecyAssumption", "#Authenticity"};
     protected Graphics graphics;
     public final static int NOT_VERIFIED = 0;
     public final static int PROVED_TRUE = 1;
-    public final static int PROVED_FALSE = 2; 
+    public final static int PROVED_FALSE = 2;
     public final static int NOT_PROVED = 3;
     public HashMap<String, Integer> authStrongMap = new HashMap<String, Integer>();
     public HashMap<String, Integer> authWeakMap = new HashMap<String, Integer>();
-    public AvatarBDPragma(int _x, int _y, int _minX, int _maxX, int _minY, int _maxY, boolean _pos, TGComponent _father, TDiagramPanel _tdp)  {
+
+    public AvatarBDPragma(int _x, int _y, int _minX, int _maxX, int _minY, int _maxY, boolean _pos, TGComponent _father, TDiagramPanel _tdp) {
         super(_x, _y, _minX, _maxX, _minY, _maxY, _pos, _father, _tdp);
 
         width = 200;
         height = 30;
         minWidth = 80;
         minHeight = 10;
-		models = new LinkedList<String>();
-		properties = new LinkedList<String>();
-		authStrongMap = new HashMap<String, Integer>();
-		authWeakMap = new HashMap<String, Integer>();
+        models = new LinkedList<String>();
+        properties = new LinkedList<String>();
+        authStrongMap = new HashMap<String, Integer>();
+        authWeakMap = new HashMap<String, Integer>();
         oldScaleFactor = tdp.getZoom();
 
         nbConnectingPoint = 0;
         //addTGConnectingPointsComment();
-		int len = makeTGConnectingPointsComment(16);
-		int decw = 0;
-		int dech = 0;
-		for(int i=0; i<2; i++) {
-		    connectingPoint[len] = new TGConnectingPointComment(this, 0, 0, true, true, 0.0 + decw, 0.0 + dech);
-		    connectingPoint[len + 1 ] = new TGConnectingPointComment(this, 0, 0, true, true, 0.5 + decw, 0.0 + dech);
-		    connectingPoint[len + 2 ] = new TGConnectingPointComment(this, 0, 0, true, true, 1.0 + decw, 0.0 + dech);
-		    connectingPoint[len + 3 ] = new TGConnectingPointComment(this, 0, 0, true, true, 0.0 + decw, 0.5 + dech);
-		    connectingPoint[len + 4 ] = new TGConnectingPointComment(this, 0, 0, true, true, 1.0 + decw, 0.5 + dech);
-		    connectingPoint[len + 5 ] = new TGConnectingPointComment(this, 0, 0, true, true, 0.0 + decw, 1.0 + dech);
-		    connectingPoint[len + 6 ] = new TGConnectingPointComment(this, 0, 0, true, true, 0.5 + decw, 1.0 + dech);
-		    connectingPoint[len + 7 ] = new TGConnectingPointComment(this, 0, 0, true, true, 0.9 + decw, 1.0 + dech);
-		    len += 8;
-		}
+        int len = makeTGConnectingPointsComment(16);
+        int decw = 0;
+        int dech = 0;
+        for (int i = 0; i < 2; i++) {
+            connectingPoint[len] = new TGConnectingPointComment(this, 0, 0, true, true, 0.0 + decw, 0.0 + dech);
+            connectingPoint[len + 1] = new TGConnectingPointComment(this, 0, 0, true, true, 0.5 + decw, 0.0 + dech);
+            connectingPoint[len + 2] = new TGConnectingPointComment(this, 0, 0, true, true, 1.0 + decw, 0.0 + dech);
+            connectingPoint[len + 3] = new TGConnectingPointComment(this, 0, 0, true, true, 0.0 + decw, 0.5 + dech);
+            connectingPoint[len + 4] = new TGConnectingPointComment(this, 0, 0, true, true, 1.0 + decw, 0.5 + dech);
+            connectingPoint[len + 5] = new TGConnectingPointComment(this, 0, 0, true, true, 0.0 + decw, 1.0 + dech);
+            connectingPoint[len + 6] = new TGConnectingPointComment(this, 0, 0, true, true, 0.5 + decw, 1.0 + dech);
+            connectingPoint[len + 7] = new TGConnectingPointComment(this, 0, 0, true, true, 0.9 + decw, 1.0 + dech);
+            len += 8;
+        }
 
         moveable = true;
         editable = true;
         removable = true;
-		syntaxErrors = new ArrayList<String>();
+        syntaxErrors = new ArrayList<String>();
         name = "Proverif Pragma";
         value = "";
 
@@ -137,12 +138,14 @@ public class AvatarBDPragma extends TGCScalableWithoutInternalComponent {
     public String[] getValues() {
         return values;
     }
-    public void setValues(String[] v){
-		values=v;
-		makeValue();
+
+    public void setValues(String[] v) {
+        values = v;
+        makeValue();
     }
+
     public LinkedList<String> getProperties() {
-		return properties;
+        return properties;
     }
 
     public LinkedList<String> getModels() {
@@ -158,7 +161,7 @@ public class AvatarBDPragma extends TGCScalableWithoutInternalComponent {
           }*/
 
         if (((rescaled) && (!tdp.isScaled())) || myFont == null) {
-            currentFontSize = tdp.getFontSize()+1;
+            currentFontSize = tdp.getFontSize() + 1;
             //System.out.println("Rescaled, font size = " + currentFontSize + " height=" + height);
             //            myFont = f.deriveFont((float)currentFontSize);
             //myFontB = myFont.deriveFont(Font.BOLD);
@@ -188,12 +191,12 @@ public class AvatarBDPragma extends TGCScalableWithoutInternalComponent {
          * from the Graphics object.
          * Thus we use a saved FontMetrics object in TDiagramPanel that only changes when zoom changes.
          */
-		int desiredWidth = Math.max(this.minWidth, 2*this.tdp.stringWidth(g, "Property Pragmas") + marginX+ textX);
-        for(int i=0; i< values.length; i++)
-            desiredWidth = Math.max(desiredWidth, this.tdp.stringWidth(g, values[i]) + marginX+textX);
+        int desiredWidth = Math.max(this.minWidth, 2 * this.tdp.stringWidth(g, "Property Pragmas") + marginX + textX);
+        for (int i = 0; i < values.length; i++)
+            desiredWidth = Math.max(desiredWidth, this.tdp.stringWidth(g, values[i]) + marginX + textX);
 
-		//	currentFontSize= 5;
-        int desiredHeight = ((models.size() + properties.size()+4)*currentFontSize) + textY + 1;
+        //	currentFontSize= 5;
+        int desiredHeight = ((models.size() + properties.size() + 4) * currentFontSize) + textY + 1;
 
         //TraceManager.addDev("resize: " + desiredWidth + "," + desiredHeight);
 
@@ -201,20 +204,20 @@ public class AvatarBDPragma extends TGCScalableWithoutInternalComponent {
             resize(desiredWidth, desiredHeight);
         }
 
-        g.drawLine(x, y, x+width, y);
-        g.drawLine(x, y, x, y+height);
-        g.drawLine(x, y+height, x+width-limit, y+height);
-        g.drawLine(x+width, y, x+width, y+height - limit);
+        g.drawLine(x, y, x + width, y);
+        g.drawLine(x, y, x, y + height);
+        g.drawLine(x, y + height, x + width - limit, y + height);
+        g.drawLine(x + width, y, x + width, y + height - limit);
 
         g.setColor(ColorManager.PRAGMA_BG);
-		
-        int [] px1 = {x+1, x+width, x + width, x + width-limit, x+1};
-        int [] py1 = {y+1, y+1, y+height-limit, y+height, y+height};
+
+        int[] px1 = {x + 1, x + width, x + width, x + width - limit, x + 1};
+        int[] py1 = {y + 1, y + 1, y + height - limit, y + height, y + height};
         g.fillPolygon(px1, py1, 5);
         g.setColor(c);
 
-        int [] px = {x+width, x + width - 4, x+width-10, x + width-limit};
-        int [] py = {y+height-limit, y + height - limit + 3, y + height - limit + 2, y +height};
+        int[] px = {x + width, x + width - 4, x + width - 10, x + width - limit};
+        int[] py = {y + height - limit, y + height - limit + 3, y + height - limit + 2, y + height};
         g.drawPolygon(px, py, 4);
 
         if (g.getColor() == ColorManager.NORMAL_0) {
@@ -222,51 +225,51 @@ public class AvatarBDPragma extends TGCScalableWithoutInternalComponent {
         }
         g.fillPolygon(px, py, 4);
 
-        g.setColor(c);	
-	
-		int i = 1;
-		Font heading = new Font("heading", Font.BOLD, this.tdp.getFontSize ()*7/6);
-		g.setFont(heading);
-		g.drawString("Model Pragmas", x+textX, y+textY + currentFontSize);
-		g.setFont(fold);
-		for (String s: models){
-		    g.drawString(s, x + textX, y + textY + (i+1)* currentFontSize);
-			if (syntaxErrors.contains(s)){
-				Color ctmp= g.getColor();
-				g.setColor(Color.red);
-				g.drawLine(x+textX/2,y+textY*3/2 + i*currentFontSize, x+width-textX/2, y+textY*3/2 +(i+1)*currentFontSize);
-				g.drawLine(x+width-textX/2,y+textY*3/2 + i*currentFontSize, x+textX/2, y+textY*3/2 +(i+1)*currentFontSize);
-				g.setColor(ctmp);
-			}
-		    i++;
-		}
+        g.setColor(c);
+
+        int i = 1;
+        Font heading = new Font("heading", Font.BOLD, this.tdp.getFontSize() * 7 / 6);
+        g.setFont(heading);
+        g.drawString("Model Pragmas", x + textX, y + textY + currentFontSize);
+        g.setFont(fold);
+        for (String s : models) {
+            g.drawString(s, x + textX, y + textY + (i + 1) * currentFontSize);
+            if (syntaxErrors.contains(s)) {
+                Color ctmp = g.getColor();
+                g.setColor(Color.red);
+                g.drawLine(x + textX / 2, y + textY * 3 / 2 + i * currentFontSize, x + width - textX / 2, y + textY * 3 / 2 + (i + 1) * currentFontSize);
+                g.drawLine(x + width - textX / 2, y + textY * 3 / 2 + i * currentFontSize, x + textX / 2, y + textY * 3 / 2 + (i + 1) * currentFontSize);
+                g.setColor(ctmp);
+            }
+            i++;
+        }
         // FIXME: why the empty string ? 
-		//I forget...
-		g.drawString(" ", x+ textX, y+ textY+(i+1)*currentFontSize);
-		i++;
-		g.drawLine(x, y+textY/2+i*currentFontSize, x+width, y+textY/2+i*currentFontSize);
-		g.setFont(heading);
-		g.drawString("Security Property", x+textX, y+textY+(i+1)* currentFontSize);
-		g.setFont(fold);
-		i++;
+        //I forget...
+        g.drawString(" ", x + textX, y + textY + (i + 1) * currentFontSize);
+        i++;
+        g.drawLine(x, y + textY / 2 + i * currentFontSize, x + width, y + textY / 2 + i * currentFontSize);
+        g.setFont(heading);
+        g.drawString("Security Property", x + textX, y + textY + (i + 1) * currentFontSize);
+        g.setFont(fold);
+        i++;
 //		System.out.println("syntax errors " + syntaxErrors.toString()); 
-		for (String s: properties){
-		    if (authStrongMap.containsKey(s) || authWeakMap.containsKey(s)){
-				g.setFont(new Font("tmp", Font.PLAIN, 7));
-				drawConfidentialityVerification(s, g, x+ lockX, y + lockY + (i+1)*currentFontSize);
-				g.setFont(fold);
-	   		}
-	    	g.drawString(s, x + textX, y + textY + (i+1)* currentFontSize);
-			
-			if (syntaxErrors.contains(s)){
-				Color ctmp= g.getColor();
-				g.setColor(Color.red);
-				g.drawLine(x+textX/2,y+textY*3/2 + i*currentFontSize, x+width-textX/2, y+textY*3/2 +(i+1)*currentFontSize);
-				g.drawLine(x+width-textX/2,y+textY*3/2 + i*currentFontSize, x+textX/2, y+textY*3/2 +(i+1)*currentFontSize);
-				g.setColor(ctmp);
-			}
-	    	i++;
-		}
+        for (String s : properties) {
+            if (authStrongMap.containsKey(s) || authWeakMap.containsKey(s)) {
+                g.setFont(new Font("tmp", Font.PLAIN, 7));
+                drawConfidentialityVerification(s, g, x + lockX, y + lockY + (i + 1) * currentFontSize);
+                g.setFont(fold);
+            }
+            g.drawString(s, x + textX, y + textY + (i + 1) * currentFontSize);
+
+            if (syntaxErrors.contains(s)) {
+                Color ctmp = g.getColor();
+                g.setColor(Color.red);
+                g.drawLine(x + textX / 2, y + textY * 3 / 2 + i * currentFontSize, x + width - textX / 2, y + textY * 3 / 2 + (i + 1) * currentFontSize);
+                g.drawLine(x + width - textX / 2, y + textY * 3 / 2 + i * currentFontSize, x + textX / 2, y + textY * 3 / 2 + (i + 1) * currentFontSize);
+                g.setColor(ctmp);
+            }
+            i++;
+        }
 
 /*        for (int i = 0; i<values.length; i++) {
             //TraceManager.addDev("x+texX=" + (x + textX) + " y+textY=" + y + textY + i* h + ": " + values[i]);
@@ -279,26 +282,23 @@ public class AvatarBDPragma extends TGCScalableWithoutInternalComponent {
 
     public void makeValue() {
         values = Conversion.wrapText(value);
-		models.clear();
-		properties.clear();
-		for (String s: values){
-		    if (s.isEmpty() || s.split(" ").length < 1){
-				//Ignore
-			}
-	    	else if (Arrays.asList(mPragma).contains(s.split(" ")[0])){
-				models.add(s);
-	    	}
-	    	else if (Arrays.asList(pPragma).contains(s.split(" ")[0])){
-				properties.add(s);
-	    	}
-	    	else {
-	    		//Pretend it's a model pragma
-	    		models.add(s);
-			//Warning Message
-				//Do not show this: //JOptionPane.showMessageDialog(null, s + " is not a valid pragma.", "Invalid Pragma",
-                                    //              JOptionPane.INFORMATION_MESSAGE);
-			}
-		}
+        models.clear();
+        properties.clear();
+        for (String s : values) {
+            if (s.isEmpty() || s.split(" ").length < 1) {
+                //Ignore
+            } else if (Arrays.asList(mPragma).contains(s.split(" ")[0])) {
+                models.add(s);
+            } else if (Arrays.asList(pPragma).contains(s.split(" ")[0])) {
+                properties.add(s);
+            } else {
+                //Pretend it's a model pragma
+                models.add(s);
+                //Warning Message
+                //Do not show this: //JOptionPane.showMessageDialog(null, s + " is not a valid pragma.", "Invalid Pragma",
+                //              JOptionPane.INFORMATION_MESSAGE);
+            }
+        }
         //checkMySize();
     }
 
@@ -320,78 +320,79 @@ public class AvatarBDPragma extends TGCScalableWithoutInternalComponent {
     private void drawConfidentialityVerification(String s, Graphics g, int _x, int _y) {
         Color c = g.getColor();
         Color c1;
-		Color c2;
-		int confStatus;
-		if (authStrongMap.containsKey(s)){
-		    confStatus = authStrongMap.get(s);
-		    switch(confStatus) {
-	 	        case PROVED_TRUE:
+        Color c2;
+        int confStatus;
+        if (authStrongMap.containsKey(s)) {
+            confStatus = authStrongMap.get(s);
+            switch (confStatus) {
+                case PROVED_TRUE:
                     c1 = Color.green;
-	        	    break;
-	        	case PROVED_FALSE:
-            	    c1 = Color.red;
-            	    break;
-				case NOT_PROVED:
-		    	    c1 = Color.gray; 
-		    	    break;
-	        	default:
-            	    return;
+                    break;
+                case PROVED_FALSE:
+                    c1 = Color.red;
+                    break;
+                case NOT_PROVED:
+                    c1 = Color.gray;
+                    break;
+                default:
+                    return;
             }
-		} else {
-		    c1 = Color.gray;
-		}
-		if (authWeakMap.containsKey(s)){
-		    confStatus = authWeakMap.get(s);
-		    switch(confStatus) {
- 		        case PROVED_TRUE:
+        } else {
+            c1 = Color.gray;
+        }
+        if (authWeakMap.containsKey(s)) {
+            confStatus = authWeakMap.get(s);
+            switch (confStatus) {
+                case PROVED_TRUE:
                     c2 = Color.green;
-    	    	    break;
-    	    	case PROVED_FALSE:
-            	    c2 = Color.red;
-            	    break;
-				case NOT_PROVED:
-		    	    c2 = Color.gray; 
-		    	    break;
-    	    	default:
-            	    return;
+                    break;
+                case PROVED_FALSE:
+                    c2 = Color.red;
+                    break;
+                case NOT_PROVED:
+                    c2 = Color.gray;
+                    break;
+                default:
+                    return;
             }
-		} else {
-		    c2 = c1;
-		}
-	
-		g.drawOval(_x+6, _y-16, 10, 15);
-		g.setColor(c1);
-		int[] xps = new int[]{_x+4, _x+4, _x+20};
-		int[] yps = new int[]{_y-10, _y+4, _y+4};
-		int[] xpw = new int[]{_x+20, _x+20, _x+4};
-		int[] ypw = new int[]{_y+4, _y-10, _y-10};
-		g.fillPolygon(xps, yps,3);	
-	
-		g.setColor(c2);	
-		g.fillPolygon(xpw, ypw, 3);
+        } else {
+            c2 = c1;
+        }
+
+        g.drawOval(_x + 6, _y - 16, 10, 15);
+        g.setColor(c1);
+        int[] xps = new int[]{_x + 4, _x + 4, _x + 20};
+        int[] yps = new int[]{_y - 10, _y + 4, _y + 4};
+        int[] xpw = new int[]{_x + 20, _x + 20, _x + 4};
+        int[] ypw = new int[]{_y + 4, _y - 10, _y - 10};
+        g.fillPolygon(xps, yps, 3);
+
+        g.setColor(c2);
+        g.fillPolygon(xpw, ypw, 3);
 
 //        g.fillRect(_x+4, _y-7, 18, 14);
-    	g.setColor(c);
+        g.setColor(c);
 //        g.drawRect(_x+4, _y-7, 18, 14);
-		g.drawPolygon(xps, yps,3);
-		g.drawPolygon(xpw, ypw, 3);
-		g.drawString("S", _x+6, _y+2);
-		g.drawString("W", _x+13, _y-2);
+        g.drawPolygon(xps, yps, 3);
+        g.drawPolygon(xpw, ypw, 3);
+        g.drawString("S", _x + 6, _y + 2);
+        g.drawString("W", _x + 13, _y - 2);
 //	if (c1==Color.gray){
 //	    g.drawString("?", _x+4, _y+2);
 //	}
 
     }
+
     public boolean editOndoubleClick(JFrame frame) {
         String oldValue = value;
 
         JDialogPragma jdn = new JDialogPragma(frame, "Setting the security pragmas", value);
         //jdn.setLocation(200, 150);
-		AvatarBDPanel abdp = (AvatarBDPanel) tdp;
-		jdn.blockAttributeMap = abdp.getBlockStrings(true,false,false);
-		jdn.blockStateMap = abdp.getBlockStrings(false,true,false);
+        AvatarBDPanel abdp = (AvatarBDPanel) tdp;
+        jdn.blockAttributeMap = abdp.getBlockStrings(true, false, false);
+        jdn.blockStateMap = abdp.getBlockStrings(false, true, false);
         GraphicLib.centerOnParent(jdn);
-        jdn.setVisible( true ); // blocked until dialog has been closed
+        jdn.setVisible(true); // blocked until dialog has been closed
 
         String s = jdn.getText();
         if ((s != null) && (s.length() > 0) && (!s.equals(oldValue))) {
@@ -409,10 +410,13 @@ public class AvatarBDPragma extends TGCScalableWithoutInternalComponent {
         }
         return null;
     }
-   public String getToolTipText() {
-	return "The lock shows status of weak and strong authenticity. Green: Proved True, Red: Proved False, Grey: Cannot be proved";
+
+    public String getToolTipText() {
+        return "The lock shows status of weak and strong authenticity. Green: Proved True, Red: Proved False, Grey: Cannot be proved";
     }
-    public void rescale(double scaleFactor){
+
+    public void rescale(double scaleFactor) {
+        //TraceManager.addDev("Rescaling BD Pragma");
         /*dlineHeight = (lineHeight + dlineHeight) / oldScaleFactor * scaleFactor;
           lineHeight = (int)(dlineHeight);
           dlineHeight = dlineHeight - lineHeight;
@@ -432,7 +436,7 @@ public class AvatarBDPragma extends TGCScalableWithoutInternalComponent {
             makeValue();
         }
         StringBuffer sb = new StringBuffer("<extraparam>\n");
-        for(int i=0; i<values.length; i++) {
+        for (int i = 0; i < values.length; i++) {
             sb.append("<Line value=\"");
             sb.append(GTURTLEModeling.transformString(values[i]));
             sb.append("\" />\n");
@@ -442,7 +446,7 @@ public class AvatarBDPragma extends TGCScalableWithoutInternalComponent {
     }
 
     @Override
-    public void loadExtraParam(NodeList nl, int decX, int decY, int decId) throws MalformedModelingException{
+    public void loadExtraParam(NodeList nl, int decX, int decY, int decId) throws MalformedModelingException {
         value = "";
         values = null;
         try {
@@ -451,12 +455,12 @@ public class AvatarBDPragma extends TGCScalableWithoutInternalComponent {
             Element elt;
             String s;
 
-            for(int i=0; i<nl.getLength(); i++) {
+            for (int i = 0; i < nl.getLength(); i++) {
                 n1 = nl.item(i);
                 //System.out.println(n1);
                 if (n1.getNodeType() == Node.ELEMENT_NODE) {
                     nli = n1.getChildNodes();
-                    for(int j=0; j<nli.getLength(); j++) {
+                    for (int j = 0; j < nli.getLength(); j++) {
                         n2 = nli.item(j);
                         //System.out.println(n2);
                         if (n2.getNodeType() == Node.ELEMENT_NODE) {
diff --git a/src/main/java/ui/avatarbd/AvatarBDSafetyPragma.java b/src/main/java/ui/avatarbd/AvatarBDSafetyPragma.java
index 2691caeff5bdc75b50ae5b4a0e987312cb1f7cf4..9205cb5c5b64bceeeb7bec266ca4a32dade8c07f 100644
--- a/src/main/java/ui/avatarbd/AvatarBDSafetyPragma.java
+++ b/src/main/java/ui/avatarbd/AvatarBDSafetyPragma.java
@@ -37,8 +37,6 @@
  */
 
 
-
-
 package ui.avatarbd;
 
 import myutil.Conversion;
@@ -52,19 +50,15 @@ import ui.window.JDialogSafetyPragma;
 
 import javax.swing.*;
 import java.awt.*;
-import java.util.Arrays;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.regex.Pattern;
-import java.util.LinkedList;
-import java.util.Map;
-import java.util.regex.Matcher;
+import java.util.*;
+
 /**
-   * Class Pragma
-   * Like a Note but with Pragma
-   * Creation: 06/12/2003
-   * @version 1.0 06/12/2003
-   * @author Ludovic APVRILLE, Letitia LI
+ * Class Pragma
+ * Like a Note but with Pragma
+ * Creation: 06/12/2003
+ *
+ * @author Ludovic APVRILLE, Letitia LI
+ * @version 1.0 06/12/2003
  */
 public class AvatarBDSafetyPragma extends TGCScalableWithoutInternalComponent {
 
@@ -78,50 +72,51 @@ public class AvatarBDSafetyPragma extends TGCScalableWithoutInternalComponent {
     protected int lockX = 1;
     protected int lockY = 5;
     protected Graphics myg;
-	public ArrayList<String> syntaxErrors;
+    public ArrayList<String> syntaxErrors;
     protected Color myColor;
 
     private Font myFont;//, myFontB;
-//    private int maxFontSize = 30;
+    //    private int maxFontSize = 30;
 //    private int minFontSize = 4;
     public final static int PROVED_TRUE = 1;
-    public final static int PROVED_FALSE = 0; 
-	public final static int PROVED_ERROR=2;
+    public final static int PROVED_FALSE = 0;
+    public final static int PROVED_ERROR = 2;
     private int currentFontSize = -1;
     private final String[] pPragma = {"A[]", "A<>", "E[]", "E<>"};
     public Map<String, Integer> verifMap = new HashMap<String, Integer>();
 
     protected Graphics graphics;
-    public AvatarBDSafetyPragma(int _x, int _y, int _minX, int _maxX, int _minY, int _maxY, boolean _pos, TGComponent _father, TDiagramPanel _tdp)  {
+
+    public AvatarBDSafetyPragma(int _x, int _y, int _minX, int _maxX, int _minY, int _maxY, boolean _pos, TGComponent _father, TDiagramPanel _tdp) {
         super(_x, _y, _minX, _maxX, _minY, _maxY, _pos, _father, _tdp);
         width = 200;
         height = 30;
         minWidth = 80;
         minHeight = 10;
-	properties = new LinkedList<String>();
+        properties = new LinkedList<String>();
         oldScaleFactor = tdp.getZoom();
 
         nbConnectingPoint = 0;
         //addTGConnectingPointsComment();
-	int len = makeTGConnectingPointsComment(16);
-	int decw = 0;
-	int dech = 0;
-	for(int i=0; i<2; i++) {
-	    connectingPoint[len] = new TGConnectingPointComment(this, 0, 0, true, true, 0.0 + decw, 0.0 + dech);
-	    connectingPoint[len + 1 ] = new TGConnectingPointComment(this, 0, 0, true, true, 0.5 + decw, 0.0 + dech);
-	    connectingPoint[len + 2 ] = new TGConnectingPointComment(this, 0, 0, true, true, 1.0 + decw, 0.0 + dech);
-	    connectingPoint[len + 3 ] = new TGConnectingPointComment(this, 0, 0, true, true, 0.0 + decw, 0.5 + dech);
-	    connectingPoint[len + 4 ] = new TGConnectingPointComment(this, 0, 0, true, true, 1.0 + decw, 0.5 + dech);
-	    connectingPoint[len + 5 ] = new TGConnectingPointComment(this, 0, 0, true, true, 0.0 + decw, 1.0 + dech);
-	    connectingPoint[len + 6 ] = new TGConnectingPointComment(this, 0, 0, true, true, 0.5 + decw, 1.0 + dech);
-	    connectingPoint[len + 7 ] = new TGConnectingPointComment(this, 0, 0, true, true, 0.9 + decw, 1.0 + dech);
-	    len += 8;
-	}
+        int len = makeTGConnectingPointsComment(16);
+        int decw = 0;
+        int dech = 0;
+        for (int i = 0; i < 2; i++) {
+            connectingPoint[len] = new TGConnectingPointComment(this, 0, 0, true, true, 0.0 + decw, 0.0 + dech);
+            connectingPoint[len + 1] = new TGConnectingPointComment(this, 0, 0, true, true, 0.5 + decw, 0.0 + dech);
+            connectingPoint[len + 2] = new TGConnectingPointComment(this, 0, 0, true, true, 1.0 + decw, 0.0 + dech);
+            connectingPoint[len + 3] = new TGConnectingPointComment(this, 0, 0, true, true, 0.0 + decw, 0.5 + dech);
+            connectingPoint[len + 4] = new TGConnectingPointComment(this, 0, 0, true, true, 1.0 + decw, 0.5 + dech);
+            connectingPoint[len + 5] = new TGConnectingPointComment(this, 0, 0, true, true, 0.0 + decw, 1.0 + dech);
+            connectingPoint[len + 6] = new TGConnectingPointComment(this, 0, 0, true, true, 0.5 + decw, 1.0 + dech);
+            connectingPoint[len + 7] = new TGConnectingPointComment(this, 0, 0, true, true, 0.9 + decw, 1.0 + dech);
+            len += 8;
+        }
 
         moveable = true;
         editable = true;
         removable = true;
-		syntaxErrors = new ArrayList<String>();
+        syntaxErrors = new ArrayList<String>();
         name = "UPPAAL Pragma";
         value = "";
 
@@ -131,8 +126,9 @@ public class AvatarBDSafetyPragma extends TGCScalableWithoutInternalComponent {
     public String[] getValues() {
         return values;
     }
+
     public LinkedList<String> getProperties() {
-	return properties;
+        return properties;
     }
 
     public void internalDrawing(Graphics g) {
@@ -144,7 +140,7 @@ public class AvatarBDSafetyPragma extends TGCScalableWithoutInternalComponent {
           }*/
 
         if (((rescaled) && (!tdp.isScaled())) || myFont == null) {
-            currentFontSize = tdp.getFontSize()+1;
+            currentFontSize = tdp.getFontSize() + 1;
             //System.out.println("Rescaled, font size = " + currentFontSize + " height=" + height);
             //            myFont = f.deriveFont((float)currentFontSize);
             //myFontB = myFont.deriveFont(Font.BOLD);
@@ -158,17 +154,17 @@ public class AvatarBDSafetyPragma extends TGCScalableWithoutInternalComponent {
             makeValue();
         }
 
-      //  int h  = g.getFontMetrics().getHeight();
+        //  int h  = g.getFontMetrics().getHeight();
         Color c = g.getColor();
 
         int desiredWidth = minWidth;
-        desiredWidth = Math.max(desiredWidth, 2*g.getFontMetrics().stringWidth("Safety Pragmas") + marginX+ textX);
-	
-        for(int i=0; i< values.length; i++) {
-            desiredWidth = Math.max(desiredWidth, g.getFontMetrics().stringWidth(values[i]) + marginX+textX);
+        desiredWidth = Math.max(desiredWidth, 2 * g.getFontMetrics().stringWidth("Safety Pragmas") + marginX + textX);
+
+        for (int i = 0; i < values.length; i++) {
+            desiredWidth = Math.max(desiredWidth, g.getFontMetrics().stringWidth(values[i]) + marginX + textX);
         }
 
-        int desiredHeight = (properties.size()+2)*currentFontSize + textY + 1;
+        int desiredHeight = (properties.size() + 2) * currentFontSize + textY + 1;
 
         //TraceManager.addDev("resize: " + desiredWidth + "," + desiredHeight);
 
@@ -176,19 +172,19 @@ public class AvatarBDSafetyPragma extends TGCScalableWithoutInternalComponent {
             resize(desiredWidth, desiredHeight);
         }
 
-        g.drawLine(x, y, x+width, y);
-        g.drawLine(x, y, x, y+height);
-        g.drawLine(x, y+height, x+width-limit, y+height);
-        g.drawLine(x+width, y, x+width, y+height - limit);
+        g.drawLine(x, y, x + width, y);
+        g.drawLine(x, y, x, y + height);
+        g.drawLine(x, y + height, x + width - limit, y + height);
+        g.drawLine(x + width, y, x + width, y + height - limit);
 
         g.setColor(ColorManager.SAFETY_PRAGMA_BG);
-        int [] px1 = {x+1, x+width, x + width, x + width-limit, x+1};
-        int [] py1 = {y+1, y+1, y+height-limit, y+height, y+height};
+        int[] px1 = {x + 1, x + width, x + width, x + width - limit, x + 1};
+        int[] py1 = {y + 1, y + 1, y + height - limit, y + height, y + height};
         g.fillPolygon(px1, py1, 5);
         g.setColor(c);
 
-        int [] px = {x+width, x + width - 4, x+width-10, x + width-limit};
-        int [] py = {y+height-limit, y + height - limit + 3, y + height - limit + 2, y +height};
+        int[] px = {x + width, x + width - 4, x + width - 10, x + width - limit};
+        int[] py = {y + height - limit, y + height - limit + 3, y + height - limit + 2, y + height};
         g.drawPolygon(px, py, 4);
 
         if (g.getColor() == ColorManager.NORMAL_0) {
@@ -196,25 +192,25 @@ public class AvatarBDSafetyPragma extends TGCScalableWithoutInternalComponent {
         }
         g.fillPolygon(px, py, 4);
 
-        g.setColor(Color.black);	
-	
-	int i = 1;
-	Font heading = new Font("heading", Font.BOLD, 14);
-	g.setFont(heading);
-	g.drawString("Safety Pragmas", x+textX, y+textY + currentFontSize);
-	g.setFont(fold);
-	for (String s: properties){
-	    g.drawString(s, x + textX, y + textY + (i+1)* currentFontSize);
-	    if (syntaxErrors.contains(s)){
-			Color ctmp= g.getColor();
-			g.setColor(Color.red);
-			g.drawLine(x+textX/2,y+textY*3/2 + i*currentFontSize, x+width-textX/2, y+textY*3/2 +(i+1)*currentFontSize);
-			g.drawLine(x+width-textX/2,y+textY*3/2 + i*currentFontSize, x+textX/2, y+textY*3/2 +(i+1)*currentFontSize);
-			g.setColor(ctmp);
-		}
-	    drawVerification(s, g, x+textX, y+textY + (i+1)* currentFontSize);
-	    i++;
-	}
+        g.setColor(Color.black);
+
+        int i = 1;
+        Font heading = new Font("heading", Font.BOLD, 14);
+        g.setFont(heading);
+        g.drawString("Safety Pragmas", x + textX, y + textY + currentFontSize);
+        g.setFont(fold);
+        for (String s : properties) {
+            g.drawString(s, x + textX, y + textY + (i + 1) * currentFontSize);
+            if (syntaxErrors.contains(s)) {
+                Color ctmp = g.getColor();
+                g.setColor(Color.red);
+                g.drawLine(x + textX / 2, y + textY * 3 / 2 + i * currentFontSize, x + width - textX / 2, y + textY * 3 / 2 + (i + 1) * currentFontSize);
+                g.drawLine(x + width - textX / 2, y + textY * 3 / 2 + i * currentFontSize, x + textX / 2, y + textY * 3 / 2 + (i + 1) * currentFontSize);
+                g.setColor(ctmp);
+            }
+            drawVerification(s, g, x + textX, y + textY + (i + 1) * currentFontSize);
+            i++;
+        }
 
 /*        for (int i = 0; i<values.length; i++) {
             //TraceManager.addDev("x+texX=" + (x + textX) + " y+textY=" + y + textY + i* h + ": " + values[i]);
@@ -228,24 +224,21 @@ public class AvatarBDSafetyPragma extends TGCScalableWithoutInternalComponent {
     public void makeValue() {
 
         values = Conversion.wrapText(value);
-	properties.clear();
-	for (String s: values){
-	    if (s.isEmpty() ){
-	    	//Ignore
-	    }
-	    else if (Arrays.asList(pPragma).contains(s.split(" ")[0])){
-			properties.add(s);
-	    }
-	    else if (s.contains("-->")){
-		properties.add(s);
-	    }
-	    else {
-	    	properties.add(s);
-		//Warning Message
-		//Never show this: JOptionPane.showMessageDialog(null, s + " is not a valid pragma.", "Invalid Pragma",
-                           //                       JOptionPane.INFORMATION_MESSAGE);
-	    }
-	}
+        properties.clear();
+        for (String s : values) {
+            if (s.isEmpty()) {
+                //Ignore
+            } else if (Arrays.asList(pPragma).contains(s.split(" ")[0])) {
+                properties.add(s);
+            } else if (s.contains("-->")) {
+                properties.add(s);
+            } else {
+                properties.add(s);
+                //Warning Message
+                //Never show this: JOptionPane.showMessageDialog(null, s + " is not a valid pragma.", "Invalid Pragma",
+                //                       JOptionPane.INFORMATION_MESSAGE);
+            }
+        }
         //checkMySize();
     }
 
@@ -264,17 +257,17 @@ public class AvatarBDSafetyPragma extends TGCScalableWithoutInternalComponent {
       resize(desiredWidth, desiredHeight);
       }
       }*/
-  
-    
+
+
     public boolean editOndoubleClick(JFrame frame) {
         String oldValue = value;
 
         JDialogSafetyPragma jdn = new JDialogSafetyPragma(frame, "Setting the safety pragmas", value);
         //jdn.setLocation(200, 150);
         GraphicLib.centerOnParent(jdn);
-		AvatarBDPanel abdp = (AvatarBDPanel) tdp;
-		jdn.blockAttributeMap = abdp.getBlockStrings(true,true,true);
-        jdn.setVisible( true ); // blocked until dialog has been closed
+        AvatarBDPanel abdp = (AvatarBDPanel) tdp;
+        jdn.blockAttributeMap = abdp.getBlockStrings(true, true, true);
+        jdn.setVisible(true); // blocked until dialog has been closed
 
         String s = jdn.getText();
         if ((s != null) && (s.length() > 0) && (!s.equals(oldValue))) {
@@ -293,7 +286,7 @@ public class AvatarBDSafetyPragma extends TGCScalableWithoutInternalComponent {
         return null;
     }
 
-    public void rescale(double scaleFactor){
+    public void rescale(double scaleFactor) {
         /*dlineHeight = (lineHeight + dlineHeight) / oldScaleFactor * scaleFactor;
           lineHeight = (int)(dlineHeight);
           dlineHeight = dlineHeight - lineHeight;
@@ -313,7 +306,7 @@ public class AvatarBDSafetyPragma extends TGCScalableWithoutInternalComponent {
             makeValue();
         }
         StringBuffer sb = new StringBuffer("<extraparam>\n");
-        for(int i=0; i<values.length; i++) {
+        for (int i = 0; i < values.length; i++) {
             sb.append("<Line value=\"");
             sb.append(GTURTLEModeling.transformString(values[i]));
             sb.append("\" />\n");
@@ -321,43 +314,41 @@ public class AvatarBDSafetyPragma extends TGCScalableWithoutInternalComponent {
         sb.append("</extraparam>\n");
         return new String(sb);
     }
-    private void drawVerification(String s, Graphics g, int _x, int _y){
+
+    private void drawVerification(String s, Graphics g, int _x, int _y) {
         Color c = g.getColor();
-     //   Color c1;
-	int status;
-	if (verifMap.containsKey(s)){
-	    status = verifMap.get(s);
-	    if (status== PROVED_TRUE){
-		g.setColor(Color.green);
-		int[] xp1 = new int[]{_x-20, _x-18, _x-12, _x-14};
-		int[] yp1 = new int[]{_y-3, _y-5, _y-1, _y+1};
-		int[] xp2 = new int[]{_x-14, _x-12, _x-3, _x-5};
-		int[] yp2 = new int[]{_y-1, _y+1, _y-8, _y-10};	
-		g.fillPolygon(xp1, yp1, 4);
-		g.fillPolygon(xp2, yp2, 4);
-	    } 
-
-		else if (status==PROVED_ERROR){
-		Font f= g.getFont();
-		g.setFont(new Font("TimesRoman", Font.BOLD, 14)); 
-		g.drawString("?",_x-15,_y);
-		g.setFont(f);
-		}
-	    else {
-		g.setColor(Color.red);
-		int[] xp1 = new int[]{_x-17, _x-15, _x-6, _x-8};
-		int[] yp1 = new int[]{_y-12, _y-10, _y-2, _y};
-		int[] xp2 = new int[]{_x-15, _x-17, _x-8, _x-6};
-		int[] yp2 = new int[]{_y, _y-2, _y-12, _y-10};	
-		g.fillPolygon(xp1, yp1, 4);
-		g.fillPolygon(xp2, yp2, 4);
-	    }
-	}
-	g.setColor(c);
+        //   Color c1;
+        int status;
+        if (verifMap.containsKey(s)) {
+            status = verifMap.get(s);
+            if (status == PROVED_TRUE) {
+                g.setColor(Color.green);
+                int[] xp1 = new int[]{_x - 20, _x - 18, _x - 12, _x - 14};
+                int[] yp1 = new int[]{_y - 3, _y - 5, _y - 1, _y + 1};
+                int[] xp2 = new int[]{_x - 14, _x - 12, _x - 3, _x - 5};
+                int[] yp2 = new int[]{_y - 1, _y + 1, _y - 8, _y - 10};
+                g.fillPolygon(xp1, yp1, 4);
+                g.fillPolygon(xp2, yp2, 4);
+            } else if (status == PROVED_ERROR) {
+                Font f = g.getFont();
+                g.setFont(new Font("TimesRoman", Font.BOLD, 14));
+                g.drawString("?", _x - 15, _y);
+                g.setFont(f);
+            } else {
+                g.setColor(Color.red);
+                int[] xp1 = new int[]{_x - 17, _x - 15, _x - 6, _x - 8};
+                int[] yp1 = new int[]{_y - 12, _y - 10, _y - 2, _y};
+                int[] xp2 = new int[]{_x - 15, _x - 17, _x - 8, _x - 6};
+                int[] yp2 = new int[]{_y, _y - 2, _y - 12, _y - 10};
+                g.fillPolygon(xp1, yp1, 4);
+                g.fillPolygon(xp2, yp2, 4);
+            }
+        }
+        g.setColor(c);
     }
 
     @Override
-    public void loadExtraParam(NodeList nl, int decX, int decY, int decId) throws MalformedModelingException{
+    public void loadExtraParam(NodeList nl, int decX, int decY, int decId) throws MalformedModelingException {
         value = "";
         values = null;
         try {
@@ -366,12 +357,12 @@ public class AvatarBDSafetyPragma extends TGCScalableWithoutInternalComponent {
             Element elt;
             String s;
 
-            for(int i=0; i<nl.getLength(); i++) {
+            for (int i = 0; i < nl.getLength(); i++) {
                 n1 = nl.item(i);
                 //System.out.println(n1);
                 if (n1.getNodeType() == Node.ELEMENT_NODE) {
                     nli = n1.getChildNodes();
-                    for(int j=0; j<nli.getLength(); j++) {
+                    for (int j = 0; j < nli.getLength(); j++) {
                         n2 = nli.item(j);
                         //System.out.println(n2);
                         if (n2.getNodeType() == Node.ELEMENT_NODE) {
diff --git a/src/main/java/ui/graph/AUTGraphDisplay.java b/src/main/java/ui/graph/AUTGraphDisplay.java
index 3881d604d8ea548903c1f0f8c7dfd1ad4e769133..d0d2de9a0d29bc15f30dfbf8d21c534a4800858b 100755
--- a/src/main/java/ui/graph/AUTGraphDisplay.java
+++ b/src/main/java/ui/graph/AUTGraphDisplay.java
@@ -39,6 +39,7 @@
 
 package ui.graph;
 
+import common.ConfigurationTTool;
 import common.SpecConfigTTool;
 import myutil.TraceManager;
 import org.graphstream.graph.implementations.AbstractEdge;
@@ -120,7 +121,13 @@ public class AUTGraphDisplay implements MouseListener, ViewerListener, Runnable
         System.setProperty("org.graphstream.ui.renderer", "org.graphstream.ui.j2dviewer.J2DGraphRenderer");
 
         vGraph = new MultiGraph("TTool graph");
-        vGraph.addAttribute("ui.stylesheet", STYLE_SHEET);
+        if ((ConfigurationTTool.RGStyleSheet != null) && (ConfigurationTTool.RGStyleSheet.trim().length() > 0)) {
+            TraceManager.addDev("Adding stylesheet:" + ConfigurationTTool.RGStyleSheet+ "\n\nvs default:" + STYLE_SHEET);
+            vGraph.addAttribute("ui.stylesheet", ConfigurationTTool.RGStyleSheet );
+        } else {
+            vGraph.addAttribute("ui.stylesheet", STYLE_SHEET);
+        }
+        //vGraph.addAttribute("layout.weight", 0.5);
         int cpt = 0;
         graph.computeStates();
         for (AUTState state : graph.getStates()) {
@@ -145,6 +152,7 @@ public class AUTGraphDisplay implements MouseListener, ViewerListener, Runnable
               TraceManager.addDev("Transition=" + tmp);*/
             edge.addAttribute("ui.label", transition.transition);
             edge.addAttribute("ui.class", "defaultedge");
+            edge.addAttribute("layout.weight", 0.4);
             if (!(transition.transition.startsWith("i("))) {
                 edge.addAttribute("ui.class", "external");
             }
diff --git a/src/main/java/ui/interactivesimulation/JFrameInteractiveSimulation.java b/src/main/java/ui/interactivesimulation/JFrameInteractiveSimulation.java
index d1d7d1970ac88092b8afc1d4fc25290be7cc453e..88c762e051ff7da8dae11d091955dc7358ab888a 100755
--- a/src/main/java/ui/interactivesimulation/JFrameInteractiveSimulation.java
+++ b/src/main/java/ui/interactivesimulation/JFrameInteractiveSimulation.java
@@ -2549,7 +2549,9 @@ public class JFrameInteractiveSimulation extends JFrame implements ActionListene
         animateWithInfo.setEnabled(animate.isSelected());
         openDiagram.setEnabled(animate.isSelected());
         update.setSelected(false);
-        sendCommand("run-exploration " + minimalCommandCoverage.getValue() + " " + minimalBranchCoverage.getValue() + " " + getCurrentRGName());
+        String graph = getCurrentRGName();
+        sendCommand("run-exploration " + minimalCommandCoverage.getValue() + " " + minimalBranchCoverage.getValue()
+                + " " + graph);
 
     }
 
diff --git a/src/main/java/ui/tmlad/TMLADNotifiedEvent.java b/src/main/java/ui/tmlad/TMLADNotifiedEvent.java
index 9864ba10f53bd32dfe1a351b1c0728c2c376343e..167d225a8476774228640de2a0c14025bd5d3abe 100755
--- a/src/main/java/ui/tmlad/TMLADNotifiedEvent.java
+++ b/src/main/java/ui/tmlad/TMLADNotifiedEvent.java
@@ -166,6 +166,11 @@ public class TMLADNotifiedEvent extends TGCWithoutInternalComponent implements E
     public String getEventName() {
         return eventName;
     }
+
+    public void setEventName(String _name) {
+        eventName = _name;
+        makeValue();
+    }
     
     public String getVariable() {
         return result;
diff --git a/src/main/java/ui/tmlad/TMLADSendEvent.java b/src/main/java/ui/tmlad/TMLADSendEvent.java
index 649206e58214eef05f241e4cc6dfae1894e7bb91..5c0a73288c73da13861c4fa0b846951924b17506 100755
--- a/src/main/java/ui/tmlad/TMLADSendEvent.java
+++ b/src/main/java/ui/tmlad/TMLADSendEvent.java
@@ -229,6 +229,12 @@ public class TMLADSendEvent extends TGCWithoutInternalComponent implements Check
         return eventName;
     }
 
+    public void setEventName(String _name) {
+        eventName = _name;
+        makeValue();
+    }
+
+
     public String getParamValue(int i) {
         return params[i];
     }
diff --git a/src/main/java/ui/tmlad/TMLADSendRequest.java b/src/main/java/ui/tmlad/TMLADSendRequest.java
index cc2d397637b446fe54a95e837261236f7d558cab..8a24e4d696e74b46d7605ade6427ce3839aef431 100755
--- a/src/main/java/ui/tmlad/TMLADSendRequest.java
+++ b/src/main/java/ui/tmlad/TMLADSendRequest.java
@@ -220,7 +220,7 @@ public class TMLADSendRequest extends TGCWithoutInternalComponent implements Che
 
 
 	public void setRequestName(String name){
-		requestName=name;
+		requestName = name;
 		makeValue();
 	}	
 
@@ -229,8 +229,8 @@ public class TMLADSendRequest extends TGCWithoutInternalComponent implements Che
     }
 
 	public void setParam(int i, String s){
-		params[i]=s;
-		nParam=Math.max(i,nParam);
+		params[i] = s;
+		nParam = Math.max(i,nParam);
 	}
     public int nbOfParams() {
         return nParam;
diff --git a/src/main/java/ui/tmlad/TMLADWaitEvent.java b/src/main/java/ui/tmlad/TMLADWaitEvent.java
index 73dd7daf09b214668ff02f90d6a7c3eb8d134adf..d04c3928adf037ea305e1843cb20d1a63122ea76 100755
--- a/src/main/java/ui/tmlad/TMLADWaitEvent.java
+++ b/src/main/java/ui/tmlad/TMLADWaitEvent.java
@@ -220,6 +220,11 @@ public class TMLADWaitEvent extends TGCWithoutInternalComponent implements Check
         return eventName;
     }
 
+    public void setEventName(String _name) {
+        eventName = _name;
+        makeValue();
+    }
+
     public String getParamValue(int i) {
         return params[i];
     }
diff --git a/src/main/java/ui/tmlcd/TMLDataFlowType.java b/src/main/java/ui/tmlcd/TMLDataFlowType.java
index 49afa0054d8626b538791d1d5e2f04acb763d9e0..ff4bc1e4f9d6f1ea58d6de98cd25a181d291bcd4 100755
--- a/src/main/java/ui/tmlcd/TMLDataFlowType.java
+++ b/src/main/java/ui/tmlcd/TMLDataFlowType.java
@@ -50,13 +50,8 @@ package ui.tmlcd;
  */
 public abstract class TMLDataFlowType	{
 
-    public static final String UINT_16 = "uint_16";
-    public static final String UINT_32 = "uint_32";
-    public static final String UINT_64 = "uint_64";
-    public static final String INT_16 = "int_16";
-    public static final String INT_32 = "int_32";
-    public static final String INT_64 = "int_64";
-    public static final String CPX_32 = "cpx_32";
-    public static final String CPX_64 = "cpx_64";
+    public static final String INT_16 = "int16_t";
+    public static final String INT_32 = "int32_t";
+    public static final String INT_64 = "int64_t";
 
 }
diff --git a/src/main/java/ui/tmlcompd/TMLCPrimitivePort.java b/src/main/java/ui/tmlcompd/TMLCPrimitivePort.java
index ffc66bcc07c445fdb91aa3eeed555f9c4fe35389..826a53930b4c1f004959100f3a1b76a563b80eb3 100755
--- a/src/main/java/ui/tmlcompd/TMLCPrimitivePort.java
+++ b/src/main/java/ui/tmlcompd/TMLCPrimitivePort.java
@@ -52,6 +52,10 @@ import ui.window.JDialogTMLCompositePort;
 import ui.avatarrd.AvatarRDRequirement;
 import ui.tmlad.TMLADReadChannel;
 import ui.tmlad.TMLADWriteChannel;
+import ui.tmlad.TMLADSendEvent;
+import ui.tmlad.TMLADSendRequest;
+import ui.tmlad.TMLADWaitEvent;
+import ui.tmlad.TMLADNotifiedEvent;
 import ui.tmldd.TMLArchiCPNode;
 import ui.tmldd.TMLArchiPortArtifact;
 
@@ -566,6 +570,7 @@ public abstract class TMLCPrimitivePort extends TGCScalableWithInternalComponent
         associatedEvent = jda.getAssociatedEvent();
         isPrex = jda.isChannelPrex();
         isPostex = jda.isChannelPostex();
+
         TraceManager.addDev( "The Data flow type is: " + dataFlowType );
         TraceManager.addDev( "The Associated event is: " + associatedEvent );
 
@@ -591,19 +596,19 @@ public abstract class TMLCPrimitivePort extends TGCScalableWithInternalComponent
                 checkConf = jda.checkConf;
                 reference = jda.getReference();
                 if (checkConf){
-                    if (checkConfStatus==NOCHECK){
-                        checkConfStatus=TOCHECK;
+                    if (checkConfStatus == NOCHECK){
+                        checkConfStatus = TOCHECK;
                     }
                 }
                 else {
-                    if (checkConfStatus!=NOCHECK){
-                        checkConfStatus=NOCHECK;
+                    if (checkConfStatus != NOCHECK){
+                        checkConfStatus = NOCHECK;
                     }
                 }
-                checkAuth=jda.checkAuth;
-                if (checkStrongAuthStatus<2){
-                	checkStrongAuthStatus=1;
-                	checkWeakAuthStatus=1;
+                checkAuth = jda.checkAuth;
+                if (checkStrongAuthStatus < 2){
+                	checkStrongAuthStatus = 1;
+                	checkWeakAuthStatus = 1;
                 }
                 for(int i=0; i<nbMaxAttribute; i++) {
                     //TraceManager.addDev("Getting string type: " + jda.getStringType(i));
@@ -962,12 +967,12 @@ public abstract class TMLCPrimitivePort extends TGCScalableWithInternalComponent
     }
 
     public void setPortName(String s) {
-        for (TURTLEPanel tp: tdp.getMainGUI().tabs)
-            for (TDiagramPanel t: tp.getPanels()) {
-                for (TGComponent t2: t.getComponentList()) {
+        for (TURTLEPanel tp : tdp.getMainGUI().tabs) {
+            for (TDiagramPanel t : tp.getPanels()) {
+                for (TGComponent t2 : t.getComponentList()) {
                     if (t2 instanceof TMLArchiCPNode) {
                         TMLArchiCPNode tacn = (TMLArchiCPNode) t2;
-                        for (TGComponent tgc: tacn.getRecursiveAllInternalComponent()) {
+                        for (TGComponent tgc : tacn.getRecursiveAllInternalComponent()) {
                             if (tgc instanceof TMLArchiPortArtifact) {
                                 TMLArchiPortArtifact tapi = (TMLArchiPortArtifact) tgc;
                                 String tmp = tapi.getValue().replaceAll("(?i)" + commName + "$", s);
@@ -975,21 +980,61 @@ public abstract class TMLCPrimitivePort extends TGCScalableWithInternalComponent
                             }
                         }
                     }
+                }
+            }
+        }
+
+        if ( (father != null) && (father instanceof TMLCPrimitiveComponent)) {
+            String name = father.getValue();
+            //TraceManager.addDev("Looking for diagram with AD name=" + name + " of class=" + father.getClass());
+            TURTLEPanel tp = tdp.getMainGUI().getCurrentTURTLEPanel();
+            for (TDiagramPanel t : tp.getPanels()) {
+                if (t.getName().compareTo(name) == 0) {
+                    //TraceManager.addDev("Renaming operators in AD=" + name);
+                    for (TGComponent t2 : t.getComponentList()) {
+                        if (t2 instanceof TMLADWriteChannel) {
+                            TMLADWriteChannel twc = (TMLADWriteChannel) t2;
+                            if (twc.getChannelName().equals(commName))
+                                twc.setChannelName(s);
+                        }
+
+                        if (t2 instanceof TMLADReadChannel) {
+                            TMLADReadChannel trc = (TMLADReadChannel) t2;
+                            if (trc.getChannelName().equals(commName))
+                                trc.setChannelName(s);
+                        }
 
-                    if (t2 instanceof TMLADWriteChannel) {
-                        TMLADWriteChannel twc = (TMLADWriteChannel) t2;
-                        if (twc.getChannelName().equals(commName))
-                            twc.setChannelName(s);
-                    }
 
-                    if (t2 instanceof TMLADReadChannel) {
-                        TMLADReadChannel twc = (TMLADReadChannel) t2;
-                        if (twc.getChannelName().equals(commName))
-                            twc.setChannelName(s);
+                        if (t2 instanceof TMLADSendEvent) {
+                            TMLADSendEvent tse = (TMLADSendEvent) t2;
+                            //TraceManager.addDev("Send event with event=" + tse.getEventName() + " vs " + commName);
+                            if (tse.getEventName().equals(commName))
+                                tse.setEventName(s);
+                        }
+
+                        if (t2 instanceof TMLADSendRequest) {
+                            TMLADSendRequest tsr = (TMLADSendRequest) t2;
+                            if (tsr.getRequestName().equals(commName))
+                                tsr.setRequestName(s);
+                        }
+
+                        if (t2 instanceof TMLADWaitEvent) {
+                            TMLADWaitEvent twe = (TMLADWaitEvent) t2;
+                            if (twe.getEventName().equals(commName))
+                                twe.setEventName(s);
+                        }
+
+                        if (t2 instanceof TMLADNotifiedEvent) {
+                            TMLADNotifiedEvent tne = (TMLADNotifiedEvent) t2;
+                            if (tne.getEventName().equals(commName))
+                                tne.setEventName(s);
+                        }
                     }
+                    t.repaint();
                 }
-                t.repaint();
             }
+        }
     }
 
+
 }
diff --git a/src/main/java/ui/tmlcompd/TMLComponentTaskDiagramPanel.java b/src/main/java/ui/tmlcompd/TMLComponentTaskDiagramPanel.java
index 2b35885838d35a017466b2e2e175fa08aa65abcf..84285ea558d8462ff0a198de1fd484132c570d35 100755
--- a/src/main/java/ui/tmlcompd/TMLComponentTaskDiagramPanel.java
+++ b/src/main/java/ui/tmlcompd/TMLComponentTaskDiagramPanel.java
@@ -294,7 +294,7 @@ public class TMLComponentTaskDiagramPanel extends TDiagramPanel implements TDPWi
                 //   if (p.getFather() != null) {
                 if (p.getFather() instanceof TMLCPrimitiveComponent) {
                     if (componentsToTakeIntoAccount.contains(p.getFather())) {
-                        TraceManager.addDev("-> port " + _port + " is connected to " + o);
+                        //TraceManager.addDev("-> port " + _port + " is connected to " + o);
                         ret.add( p );
                     }
                 }
@@ -1518,8 +1518,8 @@ public class TMLComponentTaskDiagramPanel extends TDiagramPanel implements TDPWi
         Iterator<TGComponent> iterator;
         TGComponent tgc;
 
-        // Go through the compnent list of all panels, and make paths. Then, go thru connectors, and merge paths until no
-        // more merging is possible
+        // Go through the component list of all panels, and make paths. Then, go thru connectors,
+        // and merge paths until nomore merging is possible
 
         for (TDiagramPanel panel: panels) {
             iterator = panel.getComponentList().listIterator();
diff --git a/src/main/java/ui/util/DefaultText.java b/src/main/java/ui/util/DefaultText.java
index e0445b96ed7b39c3f7c395d7eb75f9c1ffbdcf85..42a594a61ef780de4839d32ebcc09bc72e4aefd4 100755
--- a/src/main/java/ui/util/DefaultText.java
+++ b/src/main/java/ui/util/DefaultText.java
@@ -50,8 +50,8 @@ package ui.util;
  */
 public class DefaultText {
 
-    public static String BUILD = "12574";
-    public static String DATE = "2018/02/26 02:01:34 CET";
+    public static String BUILD = "12611";
+    public static String DATE = "2018/04/04 09:36:10 CET";
 
     public static StringBuffer sbAbout = makeAbout();
 
diff --git a/src/main/java/ui/window/JDialogCCodeGeneration.java b/src/main/java/ui/window/JDialogCCodeGeneration.java
index 88861b5cc865a17bac6cd00f29ec5cdf9c0b7796..47fc2d06c9797642b7114bb002e23debd9d659a0 100755
--- a/src/main/java/ui/window/JDialogCCodeGeneration.java
+++ b/src/main/java/ui/window/JDialogCCodeGeneration.java
@@ -70,6 +70,7 @@ public class JDialogCCodeGeneration extends JDialog implements ActionListener, R
 
     private static String textSysC1 = "Generate C code in";
     private static String textSysC2 = "Compile C code in";
+    private static String textSysC3 = "Model compilation options";
     //private static String textSysC4 = "Run simulation to completion:";
     //private static String textSysC5 = "Run interactive simulation:";
     //private static String textSysC6 = "Run formal verification:";
@@ -85,6 +86,7 @@ public class JDialogCCodeGeneration extends JDialog implements ActionListener, R
 
     protected static String pathCode;
     protected static String pathCompiler;
+    protected static String compilerOptions;
     //protected static String pathExecute;
     //protected static String pathInteractiveExecute;
     //  protected static String pathFormalExecute;
@@ -104,8 +106,8 @@ public class JDialogCCodeGeneration extends JDialog implements ActionListener, R
     protected JButton stop;
     protected JButton close;
 
-    protected JLabel gen, comp;
-    protected JTextField code1, code2, compiler1;
+    protected JLabel gen, comp, opt;
+    protected JTextField code1, code2, compiler1, codeOpt;
     //exe1, exe2, exe3, exe2int, exe2formal;
     protected JTabbedPane jp1;
     protected JScrollPane jsp;
@@ -203,6 +205,15 @@ public class JDialogCCodeGeneration extends JDialog implements ActionListener, R
         jp01.add(code1, c01);
 
 
+        // JLabel for compilation options
+        jp01.add(new JLabel(" "), c01);
+        c01.gridwidth = GridBagConstraints.REMAINDER; //end row
+        opt = new JLabel(textSysC3);
+        jp01.add(opt, c01);
+        codeOpt = new JTextField(compilerOptions, 100);
+        jp01.add(codeOpt, c01);
+
+
         jp01.add(new JLabel(" "), c01);
         c01.gridwidth = GridBagConstraints.REMAINDER; //end row
 
@@ -461,7 +472,7 @@ public class JDialogCCodeGeneration extends JDialog implements ActionListener, R
         }
         testGo();
         if (generatorsBox.getSelectedIndex() == 0) {
-            error = gtm.generateCCode( code1.getText() );
+            error = gtm.generateCCode( code1.getText(), codeOpt.getText() );
             if( !error )    {
                 File dir = new File( code1.getText() );
                 StringBuffer s = new StringBuffer();
@@ -514,7 +525,7 @@ public class JDialogCCodeGeneration extends JDialog implements ActionListener, R
                         if (instance == null) {
                             jta.append("Invalid plugin: could not create an instance\n");
                         } else {
-                            boolean ret = Plugin.executeBoolStringMethod(instance, XML, "generateCode");
+                            boolean ret = Plugin.executeBoolStringMethod(instance, XML, "generateCode", codeOpt.getText());
                         }
                     } catch (Exception e) {
                         jta.append("Exception when calling plugin:" + e.getMessage());
diff --git a/src/main/java/ui/window/JDialogDSE.java b/src/main/java/ui/window/JDialogDSE.java
index ccb361072f9c8520550f4e46c68394b8d304ba41..15c11a124dca12090523d1e9ded3b0d9f251e1cf 100644
--- a/src/main/java/ui/window/JDialogDSE.java
+++ b/src/main/java/ui/window/JDialogDSE.java
@@ -86,9 +86,13 @@ public class JDialogDSE extends JDialog implements ActionListener, ListSelection
 
 
     // Action
+    protected boolean isFunctionalModel;
     protected JRadioButton dseButton;
+    protected JRadioButton dseButtonFromFile;
     protected JRadioButton simButton;
+    protected JRadioButton simButtonFromFile;
     protected JRadioButton newResultsButton;
+    protected JPanel dseOptions;
     protected JLabel nbOfMappings;
     protected JLabel infoNbOfMappings;
     protected JCheckBox randomMappingBox;
@@ -99,7 +103,7 @@ public class JDialogDSE extends JDialog implements ActionListener, ListSelection
     //protected JButton addConstraint;
 
 
-    JCheckBox outputTXT, outputHTML;
+    protected JCheckBox outputTXT, outputHTML, outputTML, outputGUI;
     protected JCheckBox secAnalysis;
     protected JTextField encTime2, decTime2, secOverhead2;
 
@@ -115,7 +119,8 @@ public class JDialogDSE extends JDialog implements ActionListener, ListSelection
     protected JRadioButton specificFiles;
     protected ButtonGroup groupOfFiles;
 
-    protected JTextField simulationThreads, simulationCycles, minCPU, maxCPU, simulationsPerMapping;
+    protected JTextField simulationThreads, simulationCycles, minCPU, maxCPU, simulationsPerMapping,
+        nbOfIntensiveSimulations;
     protected JTextArea outputText;
     protected String output = "";
 
@@ -133,19 +138,24 @@ public class JDialogDSE extends JDialog implements ActionListener, ListSelection
     protected static String simThreads = "10";
     protected static String simCycles = "10000";
     protected static String nbMinCPU = "1";
-    protected static String nbMaxCPU = "1";
-    protected static String nbSim = "100";
+    protected static String nbMaxCPU = "2";
+    protected static String nbSim = "10";
+    protected static String nbSimIntensive = "10";
     protected static String encCC = "100";
     protected static String decCC = "100";
     protected static String secOv = "100";
-    protected static String randomMappingsSelected = "100";
+    protected static String randomMappingsSelected = "10";
     protected static boolean useRandomMappings = false;
     protected static boolean secAnalysisState = false;
 
     // Outputs
+    protected static boolean outputTMLState = false;
+    protected static boolean outputGUIState = false;
     protected static boolean outputTXTState = false;
     protected static boolean outputHTMLState = false;
 
+
+
     //JList<String> constraints;
     //JTextField constraintTextField;
     //JList<String> contraints;
@@ -173,6 +183,8 @@ public class JDialogDSE extends JDialog implements ActionListener, ListSelection
         tmlDir = dir + "/";
         resDirect = _simulator + "results/";
 
+        isFunctionalModel = mgui.gtm.getTMLMapping() == null;
+
         initComponents();
         myInitComponents();
 
@@ -192,6 +204,7 @@ public class JDialogDSE extends JDialog implements ActionListener, ListSelection
 
     protected void myInitComponents() {
         mode = NOT_STARTED;
+        selectSecurityEnable();
         setButtons();
         handleStartButton();
     }
@@ -218,10 +231,10 @@ public class JDialogDSE extends JDialog implements ActionListener, ListSelection
         c03.fill = GridBagConstraints.BOTH;
         c03.gridheight = 1;
 
-        defaultFiles = new JRadioButton("Use current model");
-        specificFiles = new JRadioButton("Use textual specification");
-        jp03.add(defaultFiles, c03);
-        jp03.add(specificFiles, c03);
+        //defaultFiles = new JRadioButton("Use current model");
+        //specificFiles = new JRadioButton("Use textual specification");
+        //jp03.add(defaultFiles, c03);
+        //jp03.add(specificFiles, c03);
 
 
         jp03.add(new JLabel("Directory of TML specification files"), c03);
@@ -240,13 +253,13 @@ public class JDialogDSE extends JDialog implements ActionListener, ListSelection
         resultsDirectory = new JTextField(resDirect);
         jp03.add(resultsDirectory, c03);
 
-        groupOfFiles = new ButtonGroup();
+        /*groupOfFiles = new ButtonGroup();
         groupOfFiles.add(defaultFiles);
         groupOfFiles.add(specificFiles);
         defaultFiles.addActionListener(this);
         specificFiles.addActionListener(this);
         defaultFiles.setSelected(true);
-        defaultFileIsSelected(true);
+        defaultFileIsSelected(true);*/
 
 
         // Simulation
@@ -254,7 +267,7 @@ public class JDialogDSE extends JDialog implements ActionListener, ListSelection
         GridBagLayout gridbag03_sim = new GridBagLayout();
         GridBagConstraints c03_sim = new GridBagConstraints();
         jp03_sim.setLayout(gridbag03);
-        jp03_sim.setBorder(new javax.swing.border.TitledBorder("Simulation options"));
+        jp03_sim.setBorder(new javax.swing.border.TitledBorder("Performance options"));
 
         c03_sim.weighty = 1.0;
         c03_sim.weightx = 1.0;
@@ -262,20 +275,24 @@ public class JDialogDSE extends JDialog implements ActionListener, ListSelection
         c03_sim.fill = GridBagConstraints.BOTH;
         c03_sim.gridheight = 1;
 
-        jp03_sim.add(new JLabel("Number of Simulation Threads"), c03_sim);
+        jp03_sim.add(new JLabel("Number of Threads"), c03_sim);
         simulationThreads = new JTextField(simThreads);
         jp03_sim.add(simulationThreads, c03_sim);
 
-        jp03_sim.add(new JLabel("Number of Simulations Per Mapping"), c03_sim);
+        jp03_sim.add(new JLabel("Number of Intensive Simulations"), c03_sim);
+        nbOfIntensiveSimulations = new JTextField(nbSimIntensive);
+        jp03_sim.add(nbOfIntensiveSimulations, c03_sim);
+
+        jp03_sim.add(new JLabel("Number of Simulations per Mapping"), c03_sim);
         simulationsPerMapping = new JTextField(nbSim);
         jp03_sim.add(simulationsPerMapping, c03_sim);
 
-        jp03_sim.add(new JLabel("Max. Number of Simulation Cycles"), c03_sim);
+        jp03_sim.add(new JLabel("Max. Nb. of Execution Cycles per Simulation or Mapping "), c03_sim);
         simulationCycles = new JTextField(simCycles);
         jp03_sim.add(simulationCycles, c03_sim);
 
         jp1.add("Directories", jp03);
-        jp1.add("Simulation options", jp03_sim);
+        jp1.add("Execution engine", jp03_sim);
 
         jp03 = new JPanel();
         gridbag03 = new GridBagLayout();
@@ -287,17 +304,79 @@ public class JDialogDSE extends JDialog implements ActionListener, ListSelection
         c03.fill = GridBagConstraints.BOTH;
         c03.gridheight = 1;
 
-        jp03.add(new JLabel("Minimum Number of CPUs"), c03);
+        c03.fill = GridBagConstraints.NONE;
+        c03.anchor = GridBagConstraints.EAST;
+        c03.gridwidth = 1;
+        jp03.add(new JLabel("Minimum Number of CPUs: "), c03);
+        c03.anchor = GridBagConstraints.WEST;
+        c03.fill = GridBagConstraints.HORIZONTAL;
+        c03.gridwidth = GridBagConstraints.REMAINDER; //end row
         minCPU = new JTextField(nbMinCPU);
         minCPU.getDocument().addDocumentListener(this);
         jp03.add(minCPU, c03);
 
-        jp03.add(new JLabel("Maximum Number of CPUs"), c03);
+        c03.fill = GridBagConstraints.NONE;
+        c03.anchor = GridBagConstraints.EAST;
+        c03.gridwidth = 1;
+        jp03.add(new JLabel("Maximum Number of CPUs: "), c03);
+        c03.anchor = GridBagConstraints.WEST;
+        c03.fill = GridBagConstraints.HORIZONTAL;
+        c03.gridwidth = GridBagConstraints.REMAINDER; //end row
         maxCPU = new JTextField(nbMaxCPU);
         maxCPU.getDocument().addDocumentListener(this);
         jp03.add(maxCPU, c03);
 
-        jp1.add("HW Platform", jp03);
+        int anchor = c03.anchor;
+        int fill = c03.fill;
+        c03.fill = GridBagConstraints.NONE;
+        c03.anchor = GridBagConstraints.EAST;
+        c03.gridwidth = 1;
+        infoNbOfMappings = new JLabel("Nb of mappings to be explored: ");
+        jp03.add(infoNbOfMappings, c03);
+
+        c03.fill = fill;
+        c03.anchor = GridBagConstraints.WEST;
+        c03.gridwidth = GridBagConstraints.REMAINDER; //end row
+        nbOfMappings = new JLabel("" + getNbOfPossibleMappings());
+        jp03.add(nbOfMappings, c03);
+
+        c03.gridwidth = 1;
+        c03.fill = GridBagConstraints.NONE;
+        c03.anchor = GridBagConstraints.EAST;
+        randomMappingBox = new JCheckBox("Use Random mappings, at most: ");
+        randomMappingBox.setSelected(useRandomMappings);
+        jp03.add(randomMappingBox, c03);
+
+
+        c03.fill = fill;
+
+        c03.anchor = GridBagConstraints.WEST;
+        c03.gridwidth = GridBagConstraints.REMAINDER; //end row
+        c03.fill = GridBagConstraints.HORIZONTAL;
+        randomMappingNb = new JTextField(randomMappingsSelected);
+        jp03.add(randomMappingNb, c03);
+
+        c03.fill = GridBagConstraints.NONE;
+        c03.anchor = GridBagConstraints.WEST;
+
+        outputTML = new JCheckBox("Save mappings as .tml/.tmap files?");
+        outputTML.setSelected(outputTMLState);
+        outputTML.addActionListener(this);
+        outputTML.setSelected(outputTMLState);
+        jp03.add(outputTML, c03);
+
+        outputGUI = new JCheckBox("Draw mappings");
+        outputGUI.setSelected(outputGUIState);
+        outputGUI.addActionListener(this);
+        outputGUI.setSelected(outputGUIState);
+        jp03.add(outputGUI, c03);
+
+        c03.anchor = anchor;
+
+
+        dseOptions = jp03;
+
+        jp1.add("DSE Options", jp03);
 
 
         JPanel jp05 = new JPanel();
@@ -549,7 +628,8 @@ public class JDialogDSE extends JDialog implements ActionListener, ListSelection
 
 
         secAnalysis = new JCheckBox("Security Analysis");
-        secAnalysis.setSelected(secAnalysisState);
+        secAnalysis.addActionListener(this);
+
         jp03.add(secAnalysis, c03);
 
         jp03.add(new JLabel("Encryption Computational Complexity"), c03);
@@ -564,6 +644,8 @@ public class JDialogDSE extends JDialog implements ActionListener, ListSelection
         secOverhead2 = new JTextField(secOv);
         jp03.add(secOverhead2, c03);
 
+        secAnalysis.setSelected(secAnalysisState);
+
         jp1.add("Security", jp03);
 
 
@@ -590,7 +672,9 @@ public class JDialogDSE extends JDialog implements ActionListener, ListSelection
         outputHTML.setSelected(outputHTMLState);
         jp03.add(outputHTML, c03);
 
-        select.add(jp03, BorderLayout.SOUTH);
+
+        JPanel jp033 = new JPanel(new BorderLayout());
+        jp033.add(jp03, BorderLayout.SOUTH);
 
         //constraints = new JList<String>();
         //jp03.add(constraints, c03);
@@ -618,53 +702,58 @@ public class JDialogDSE extends JDialog implements ActionListener, ListSelection
         //c03.anchor = GridBagConstraints.WEST;
 
         group = new ButtonGroup();
-        dseButton = new JRadioButton("Run Design Space Exploration");
-        dseButton.addActionListener(this);
-        jp03.add(dseButton, c03);
-
-        int anchor = c03.anchor;
-        int fill = c03.fill;
-        c03.fill = GridBagConstraints.NONE;
-        c03.anchor = GridBagConstraints.EAST;
-        c03.gridwidth = 1;
-        infoNbOfMappings = new JLabel("Nb of mappings to be explored: ");
-        jp03.add(infoNbOfMappings, c03);
-
-        c03.fill = fill;
-        c03.anchor = GridBagConstraints.WEST;
-        c03.gridwidth = GridBagConstraints.REMAINDER; //end row
-        nbOfMappings = new JLabel("" + getNbOfPossibleMappings());
-        jp03.add(nbOfMappings, c03);
+        dseButton = new JRadioButton("Run Design Space Exploration from current model");
+        if (isFunctionalModel) {
+            dseButton.addActionListener(this);
+            jp03.add(dseButton, c03);
+            group.add(dseButton);
+        }
 
-        c03.gridwidth = 1;
-        c03.fill = GridBagConstraints.NONE;
-        c03.anchor = GridBagConstraints.EAST;
-        randomMappingBox = new JCheckBox("Use Random mappings, at most: ");
-        randomMappingBox.setSelected(useRandomMappings);
-        jp03.add(randomMappingBox, c03);
-        c03.fill = fill;
+        dseButtonFromFile = new JRadioButton("Run Design Space Exploration from TML file");
+        dseButtonFromFile.addActionListener(this);
+        jp03.add(dseButtonFromFile, c03);
 
+        simButton = new JRadioButton("Run Lots of Simulations from current model");
+        if (!isFunctionalModel) {
+            simButton.addActionListener(this);
+            jp03.add(simButton, c03);
+            group.add(simButton);
+        }
 
-        c03.anchor = GridBagConstraints.WEST;
-        c03.gridwidth = GridBagConstraints.REMAINDER; //end row
-        randomMappingNb = new JTextField(randomMappingsSelected);
-        jp03.add(randomMappingNb, c03);
+        simButtonFromFile = new JRadioButton("Run Lots of Simulations from mapping file");
+        simButtonFromFile.addActionListener(this);
 
-        c03.anchor = anchor;
+        jp03.add(simButtonFromFile, c03);
 
-        simButton = new JRadioButton("Run Lots of Simulations");
-        simButton.addActionListener(this);
-        jp03.add(simButton, c03);
         newResultsButton = new JRadioButton("Update results with new weights");
         newResultsButton.addActionListener(this);
         jp03.add(newResultsButton, c03);
-        group.add(dseButton);
-        group.add(simButton);
+
+
+        group.add(dseButtonFromFile);
+        group.add(simButtonFromFile);
         group.add(newResultsButton);
         newResultsButton.setEnabled(false);
 
         select.add(jp03, BorderLayout.CENTER);
 
+        jp03 = new JPanel();
+        gridbag03 = new GridBagLayout();
+        c03 = new GridBagConstraints();
+        jp03.setLayout(gridbag03);
+        jp03.setBorder(new javax.swing.border.TitledBorder("DSE options"));
+        c03.weighty = 1.0;
+        c03.weightx = 1.0;
+        c03.gridwidth = GridBagConstraints.REMAINDER; //end row
+        c03.fill = GridBagConstraints.BOTH;
+        c03.gridheight = 1;
+
+
+
+
+        //jp033.add(jp03, BorderLayout.NORTH);
+        select.add(jp033, BorderLayout.SOUTH);
+
         jp1.add("Outputs", select);
 
         //mainP.add(jp03);
@@ -692,7 +781,9 @@ public class JDialogDSE extends JDialog implements ActionListener, ListSelection
         outputText.setMargin(new Insets(10, 10, 10, 10));
         outputText.setTabSize(3);
         outputText.append("How to start?" +
-                "\n - Select at least one output format (txt, html)\n - Select an exploration way (DSE, intensive simulation)");
+                "\n - Select at least one output format (txt, html)\n - Select an exploration way (DSE, intensive simulation)" +
+                "\nNote that DSE works only for functional models, " +
+                "\nand intensive simulation works only for mapping models");
         JScrollPane jsp = new JScrollPane(outputText, JScrollPane.VERTICAL_SCROLLBAR_ALWAYS,
                 JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
         jsp.setPreferredSize(new Dimension(300, 300));
@@ -764,10 +855,13 @@ public class JDialogDSE extends JDialog implements ActionListener, ListSelection
         nbMinCPU = minCPU.getText();
         nbMaxCPU = maxCPU.getText();
         nbSim = simulationsPerMapping.getText();
+        nbSimIntensive = simulationsPerMapping.getText();
         encCC = encTime2.getText();
         decCC = decTime2.getText();
         secAnalysisState = secAnalysis.isSelected();
         secOv = secOverhead2.getText();
+        outputTMLState = outputTML.isSelected();
+        outputGUIState = outputGUI.isSelected();
         outputTXTState = outputTXT.isSelected();
         outputHTMLState = outputHTML.isSelected();
         randomMappingsSelected = randomMappingNb.getText();
@@ -776,11 +870,16 @@ public class JDialogDSE extends JDialog implements ActionListener, ListSelection
 
 
     private void handleStartButton() {
+        //TraceManager.addDev("Handle start button");
 
-        nbOfMappings.setEnabled(dseButton.isSelected());
-        infoNbOfMappings.setEnabled(dseButton.isSelected());
-        randomMappingBox.setEnabled(dseButton.isSelected());
-        randomMappingNb.setEnabled(dseButton.isSelected());
+        /*boolean b = dseButton.isSelected() || dseButtonFromFile.isSelected();
+        nbOfMappings.setEnabled(b);
+        infoNbOfMappings.setEnabled(b);
+        randomMappingBox.setEnabled(b);
+        randomMappingNb.setEnabled(b);
+        outputTML.setEnabled(b);
+        outputGUI.setEnabled(b);*/
+        //dseOptions.repaint();
 
         if (mode != NOT_STARTED && mode != NOT_SELECTED) {
             return;
@@ -788,7 +887,8 @@ public class JDialogDSE extends JDialog implements ActionListener, ListSelection
 
         boolean oneResult, oneAction;
         oneResult = outputHTML.isSelected() || outputTXT.isSelected();
-        oneAction = dseButton.isSelected() || simButton.isSelected() || newResultsButton.isSelected();
+        oneAction = dseButton.isSelected()  || dseButtonFromFile.isSelected() || simButton.isSelected()
+                || simButtonFromFile.isSelected() || newResultsButton.isSelected();
 
         if (oneAction == false || oneResult == false) {
             mode = NOT_SELECTED;
@@ -804,7 +904,7 @@ public class JDialogDSE extends JDialog implements ActionListener, ListSelection
 
 
     public void actionPerformed(ActionEvent evt) {
-        String command = evt.getActionCommand();
+
         if (evt.getSource() == start) {
             startProcess();
         } else if (evt.getSource() == stop) {
@@ -815,20 +915,30 @@ public class JDialogDSE extends JDialog implements ActionListener, ListSelection
             previousTab();
         } else if (evt.getSource() == next) {
             nextTab();
-        } else if ((evt.getSource() == dseButton) || (evt.getSource() == simButton) || (evt.getSource() == newResultsButton)|| (evt.getSource() ==
-                outputHTML) || (evt.getSource() == outputTXT)) {
+        } else if ((evt.getSource() == dseButton) || (evt.getSource() == simButton) ||
+                (evt.getSource() == newResultsButton)|| (evt.getSource() ==
+                outputHTML) || (evt.getSource() == outputTXT) || (evt.getSource() == dseButtonFromFile)
+                ||  (evt.getSource() == simButtonFromFile )) {
             handleStartButton();
         } else if (evt.getSource() == defaultFiles) {
             defaultFileIsSelected(true);
         } else if (evt.getSource() == specificFiles) {
             defaultFileIsSelected(false);
+        } else if (evt.getSource() == secAnalysis) {
+            selectSecurityEnable();
         }
     }
 
+    private void selectSecurityEnable() {
+        encTime2.setEnabled(secAnalysis.isSelected());
+        decTime2.setEnabled(secAnalysis.isSelected());
+        secOverhead2.setEnabled(secAnalysis.isSelected());
+    }
+
     private void defaultFileIsSelected(boolean b) {
-        tmlDirectory.setEnabled(!b);
+        /*tmlDirectory.setEnabled(!b);
         mappingFile.setEnabled(!b);
-        modelFile.setEnabled(!b);
+        modelFile.setEnabled(!b);*/
     }
 
     public void nextTab() {
@@ -863,6 +973,29 @@ public class JDialogDSE extends JDialog implements ActionListener, ListSelection
         mode = STOPPED;
         setButtons();
         go = false;
+
+    }
+
+    public void stopErrorProcess() {
+        TraceManager.addDev("Stop error process (1)");
+
+        if (rshc != null) {
+            try {
+                rshc.stopCommand();
+            } catch (LauncherException le) {
+            }
+        }
+        TraceManager.addDev("Stop error process (2)");
+        rshc = null;
+        outputText.append("\n\n" + output + "\n");
+
+        checkMode();
+        setButtons();
+        //TraceManager.addDev("Unselecting radio buttons");
+        group.clearSelection();
+        handleStartButton();
+
+        go = false;
     }
 
     public void startProcess() {
@@ -896,13 +1029,15 @@ public class JDialogDSE extends JDialog implements ActionListener, ListSelection
         nbMinCPU = minCPU.getText();
         nbMaxCPU = maxCPU.getText();
         nbSim = simulationsPerMapping.getText();
+        nbSimIntensive = simulationsPerMapping.getText();
         randomMappingsSelected = randomMappingNb.getText();
         useRandomMappings = randomMappingBox.isSelected();
 
         TraceManager.addDev("Thread started");
         //   File testFile;
 
-        if (simButton.isSelected() || dseButton.isSelected()) {
+        if (simButton.isSelected() || dseButton.isSelected() || simButtonFromFile.isSelected() ||
+                dseButtonFromFile.isSelected()) {
             encCC = encTime2.getText();
             decCC = decTime2.getText();
             secOv = secOverhead2.getText();
@@ -920,51 +1055,70 @@ public class JDialogDSE extends JDialog implements ActionListener, ListSelection
             if (config.setRandomness(useRandomMappings, randomMappingsSelected) != 0) {
                 TraceManager.addDev("Randomness error " + randomMappingsSelected + " error");
                 output += "Randomness error " + randomMappingsSelected + "\n";
-                checkMode();
+                stopErrorProcess();
                 return;
             } else {
                 TraceManager.addDev("Randomness set to " + randomMappingsSelected);
             }
 
-            if (defaultFiles.isSelected()) {
+            /*if (simButton.isSelected() || dseButton.isSelected()) {
                 mgui.generateTMLTxt();
                 tmlDir = SpecConfigTTool.TMLCodeDirectory;
                 mapFile = "spec.tmap";
                 modFile = "spec.tml";
+            }*/
+
+            if (simButton.isSelected()) {
+                config.setMappingModel(mgui.gtm.getTMLMapping());
             }
 
+            if (dseButton.isSelected()) {
+                if (mgui.gtm.getTMLModeling() == null)
+                    TraceManager.addDev("Null Modeling ...");
+                config.setTaskModel(mgui.gtm.getTMLModeling());
+            }
 
 
-            if (config.setModelPath(tmlDir) != 0) {
-                TraceManager.addDev("TML Directory file at " + tmlDir + " error");
-                output += "TML Directory file at " + tmlDir + " error \n";
-                checkMode();
-                return;
-            } else {
-                TraceManager.addDev("Set directory to " + tmlDir);
-            }
-            if (!mapFile.isEmpty()) {
-                if (config.setMappingFile(mapFile) < 0) {
-                    TraceManager.addDev("Mapping at " + mapFile + " error");
-                    output += "Mapping at " + mapFile + " error";
-                    mode = STOPPED;
+            if (simButtonFromFile.isSelected() || dseButtonFromFile.isSelected()) {
+                if (config.setModelPath(tmlDir) != 0) {
+                    TraceManager.addDev("TML Directory file at " + tmlDir + " error");
+                    output += "Error with the Directory: " + tmlDir + "\n";
+                    stopErrorProcess();
                     return;
                 } else {
-                    TraceManager.addDev("Set mapping file to " + mapFile);
+                    TraceManager.addDev("Set directory to " + tmlDir);
                 }
             }
-            if (config.setTaskModelFile(modFile) != 0) {
-                TraceManager.addDev("Model File " + modFile + " error");
-                output += "Model File " + modFile + " error \n";
-                checkMode();
-                return;
-            } else {
-                TraceManager.addDev("Set model file to " + modFile);
+
+            if (simButtonFromFile.isSelected()) {
+                if (!mapFile.isEmpty()) {
+                    if (config.setMappingFile(mapFile) < 0) {
+                        TraceManager.addDev("Mapping at " + mapFile + " error (file is not present?)");
+                        output += "Error: mapping file " + mapFile + " could not be loaded";
+                        stopErrorProcess();
+                        return;
+                    } else {
+                        TraceManager.addDev("Set mapping file to " + mapFile);
+                    }
+                }
+            }
+
+            if (dseButtonFromFile.isSelected()) {
+                if (config.setTaskModelFile(modFile) != 0) {
+                    TraceManager.addDev("Model File " + modFile + " error");
+                    output += "Model File " + modFile + " error \n";
+                    stopErrorProcess();
+                    return;
+                } else {
+                    TraceManager.addDev("Set model file to " + modFile);
+                }
             }
+
             if (config.setPathToSimulator(simulator) != 0) {
                 TraceManager.addDev("Simulator at " + mapFile + " error");
                 output += "Simulator at " + mapFile + " error \n";
-                checkMode();
+                stopErrorProcess();
+
                 return;
             } else {
                 TraceManager.addDev("Simulator set");
@@ -973,6 +1127,7 @@ public class JDialogDSE extends JDialog implements ActionListener, ListSelection
             if (config.setPathToResults(resDirect) != 0) {
                 TraceManager.addDev("Results Directory at " + resDirect + " error");
                 output += "Results Directory at " + resDirect + " error \n";
+                stopErrorProcess();
                 return;
             } else {
                 TraceManager.addDev("Results Directory set");
@@ -980,24 +1135,40 @@ public class JDialogDSE extends JDialog implements ActionListener, ListSelection
 
             if (config.setNbOfSimulationThreads(simThreads) != 0) {
                 TraceManager.addDev("Simulation threads error: " + simThreads);
+                stopErrorProcess();
                 output += "Simulation threads error: " + simThreads + "\n";
                 return;
             }
 
-            if (config.setNbOfSimulationsPerMapping(nbSim) != 0) {
-                TraceManager.addDev("Simulations per mapping error: " + nbSim);
-                output += "Simulation per mapping error: " + nbSim + "\n";
-                return;
+            if (dseButton.isSelected() || dseButtonFromFile.isSelected()) {
+                if (config.setNbOfSimulationsPerMapping(nbSim) != 0) {
+                    TraceManager.addDev("Simulations per mapping error: " + nbSim);
+                    stopErrorProcess();
+                    output += "Simulation per mapping error: " + nbSim + "\n";
+                    return;
+                }
+            }
+
+            if (simButton.isSelected() || simButtonFromFile.isSelected()) {
+                if (config.setNbOfSimulationsPerMapping(nbSimIntensive) != 0) {
+                    TraceManager.addDev("Nb of Intensive Simulations : " + nbSimIntensive);
+                    stopErrorProcess();
+                    output += "Nb of Intensive Simulation: " + nbSimIntensive + "\n";
+                    return;
+                }
             }
 
             if (config.setSimulationCompilationCommand("make -j9 -C") != 0) {
                 TraceManager.addDev("Simulation compilation error");
                 output += "Simulation compilation error" + "\n";
+                stopErrorProcess();
                 return;
             }
+
             if (config.setSimulationExecutionCommand("run.x") != 0) {
                 TraceManager.addDev("Simulation execution error");
                 output += "Simulation execution error \n";
+                stopErrorProcess();
                 return;
             }
 
@@ -1005,12 +1176,16 @@ public class JDialogDSE extends JDialog implements ActionListener, ListSelection
             if (config.setMinNbOfCPUs(nbMinCPU) != 0) {
                 TraceManager.addDev("Can't set Min # CPUS to " + nbMinCPU);
                 output += "Can't set Min # CPUS to " + nbMinCPU + "\n";
+                stopErrorProcess();
+                return;
             }
 
             TraceManager.addDev("Setting max nb of CPUs to:" + nbMaxCPU);
             if (config.setMaxNbOfCPUs(nbMaxCPU) != 0) {
                 TraceManager.addDev("Can't set Max # CPUS to " + nbMaxCPU);
                 output += "Can't set Max # CPUS to " + nbMaxCPU + "\n";
+                stopErrorProcess();
+                return;
             }
 
             config.setOutputTXT(outputTXT.isSelected() ? "true" : "false");
@@ -1020,22 +1195,29 @@ public class JDialogDSE extends JDialog implements ActionListener, ListSelection
 
 
             // Simulations
-            if (simButton.isSelected()) {
+            if (simButton.isSelected() || simButtonFromFile.isSelected()) {
                 if (config.runParallelSimulation(nbSim, true, true) != 0) {
                     output += "Simulation Failed:\n" + config.getErrorMessage() + " \n";
                     outputText.setText(output);
-                    checkMode();
+                    stopErrorProcess();
                     return;
+
                 } else {
                     output += "Simulation Succeeded";
                     outputText.setText(output);
                 }
 
                 // DSE
-            } else if (dseButton.isSelected()) {
+            } else if (dseButton.isSelected() || (dseButtonFromFile.isSelected())) {
+
+                // Setting TML Output
+                config.setOutputTML(true);
+                config.setOutputGUI(outputGUI.isSelected());
+
                 if (config.runDSE("", false, false) != 0) {
                     TraceManager.addDev("Can't run DSE");
-
+                    stopErrorProcess();
+                     return;
                 }
                 TraceManager.addDev("DSE run");
             }
@@ -1066,6 +1248,7 @@ public class JDialogDSE extends JDialog implements ActionListener, ListSelection
             }
             if (config.replaceTapValues(tap) < 0) {
                 output += "Error changing values";
+
             }
             //System.out.println(tap[0]);
             if (config.printResultsSummary("", true, true) != 0) {
@@ -1103,7 +1286,7 @@ public class JDialogDSE extends JDialog implements ActionListener, ListSelection
                 start.setEnabled(false);
                 stop.setEnabled(false);
                 close.setEnabled(true);
-                //setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR));
+                //setCursor(CursoretPredefinedCursor(Cursor.DEFAULT_CURSOR));
                 getGlassPane().setVisible(false);
                 break;
             case NOT_STARTED:
diff --git a/src/main/java/ui/window/JDialogProverifVerification.java b/src/main/java/ui/window/JDialogProverifVerification.java
index 7a6dfd831c422138bb25c695c1079d742b7d8d49..836f53590fac5a22c6ec2b1c701f17f432014861 100644
--- a/src/main/java/ui/window/JDialogProverifVerification.java
+++ b/src/main/java/ui/window/JDialogProverifVerification.java
@@ -1,26 +1,26 @@
 /* Copyright or (C) or Copr. GET / ENST, Telecom-Paris, Ludovic Apvrille
- * 
+ *
  * ludovic.apvrille AT enst.fr
- * 
+ *
  * This software is a computer program whose purpose is to allow the
  * edition of TURTLE analysis, design and deployment diagrams, to
  * allow the generation of RT-LOTOS or Java code from this diagram,
  * and at last to allow the analysis of formal validation traces
  * obtained from external tools, e.g. RTL from LAAS-CNRS and CADP
  * from INRIA Rhone-Alpes.
- * 
+ *
  * This software is governed by the CeCILL  license under French law and
  * abiding by the rules of distribution of free software.  You can  use,
  * modify and/ or redistribute the software under the terms of the CeCILL
  * license as circulated by CEA, CNRS and INRIA at the following URL
  * "http://www.cecill.info".
- * 
+ *
  * As a counterpart to the access to the source code and  rights to copy,
  * modify and redistribute granted by the license, users are provided only
  * with a limited warranty  and the software's author,  the holder of the
  * economic rights,  and the successive licensors  have only  limited
  * liability.
- * 
+ *
  * In this respect, the user's attention is drawn to the risks associated
  * with loading,  using,  modifying and/or developing or reproducing the
  * software by the user in light of its specific status of free software,
@@ -31,14 +31,12 @@
  * requirements in conditions enabling the security of their systems and/or
  * data to be ensured and,  more generally, to use and operate it in the
  * same conditions as regards security.
- * 
+ *
  * The fact that you are presently reading this means that you have had
  * knowledge of the CeCILL license and that you accept its terms.
  */
 
 
-
-
 package ui.window;
 
 import avatartranslator.AvatarPragma;
@@ -80,14 +78,14 @@ import java.io.*;
 import java.util.*;
 
 
-
 /**
  * Class JDialogProverifVerification
  * Dialog for managing the generation of ProVerif code and execution of
  * ProVerif
  * Creation: 19/02/2017
- * @version 1.0 19/02/2017
+ *
  * @author Ludovic APVRILLE
+ * @version 1.0 19/02/2017
  */
 
 public class JDialogProverifVerification extends JDialog implements ActionListener, ListSelectionListener, MouseListener, Runnable, MasterProcessInterface, ProVerifOutputListener {
@@ -106,28 +104,28 @@ public class JDialogProverifVerification extends JDialog implements ActionListen
     protected final static int STARTED = 2;
     protected final static int STOPPED = 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 REACHABILITY_ALL = 1;
+    public final static int REACHABILITY_SELECTED = 2;
+    public final static int REACHABILITY_NONE = 3;
 
 
-	TURTLEPanel currPanel;
-		
+    TURTLEPanel currPanel;
+
 
     int mode;
-    
-    
+
+
     //Security
     HashMap<String, HashSet<String>> cpuTaskMap = new HashMap<String, HashSet<String>>();
-	HashMap<String, String> taskCpuMap = new HashMap<String, String>();
-	Vector<String> selectedTasks =new Vector<String>();     
-	Vector<String> ignoredTasks =new Vector<String>();   
-	JList<String> listSelected;
-	JList<String> listIgnored;
+    HashMap<String, String> taskCpuMap = new HashMap<String, String>();
+    Vector<String> selectedTasks = new Vector<String>();
+    Vector<String> ignoredTasks = new Vector<String>();
+    JList<String> listSelected;
+    JList<String> listIgnored;
 
 
-    protected static String encCC="100";
-    protected static String decCC="100";
+    protected static String encCC = "100";
+    protected static String decCC = "100";
     protected static String secOv = "100";
     private ProVerifOutputAnalyzer pvoa;
 
@@ -138,25 +136,26 @@ public class JDialogProverifVerification extends JDialog implements ActionListen
     protected JButton close;
     private JPopupMenu popup;
     JPanel listPanel;
-    
-    
+
+
     //security generation buttons
     ButtonGroup secGroup;
-	
+
     protected JCheckBox autoConf, autoWeakAuth, autoStrongAuth, custom;
 	protected JRadioButton autoSec, autoMapKeys, addHSM;
     protected JTextField encTime, decTime, secOverhead;
-	protected JComboBox<String> addtoCPU;
+    protected JComboBox<String> addtoCPU;
+
+    protected JCheckBox removeForkAndJoin;
 
 
-	Map<JCheckBox, ArrayList<JCheckBox>> cpuTaskObjs = new HashMap<JCheckBox, ArrayList<JCheckBox>>();
+    Map<JCheckBox, ArrayList<JCheckBox>> cpuTaskObjs = new HashMap<JCheckBox, ArrayList<JCheckBox>>();
 
     private class MyMenuItem extends JMenuItem {
         AvatarPragma pragma;
         ProVerifQueryResult result;
 
-        MyMenuItem(String text)
-        {
+        MyMenuItem(String text) {
             super(text);
         }
     }
@@ -173,37 +172,38 @@ public class JDialogProverifVerification extends JDialog implements ActionListen
 
 
     private Map<AvatarPragma, ProVerifQueryResult> results;
-	private boolean limit;
+    private boolean limit;
     private boolean go = false;
 
     private String hostProVerif;
 
     protected RshClient rshc;
-    
+
     protected JTabbedPane jp1;
 
+
     private class ProVerifVerificationException extends Exception {
         private String message;
 
-        ProVerifVerificationException(String message)
-        {
+        ProVerifVerificationException(String message) {
             this.message = message;
         }
 
-        public String getMessage()
-        {
+        public String getMessage() {
             return this.message;
         }
     }
 
-    /** Creates new form  */
+    /**
+     * Creates new form
+     */
     public JDialogProverifVerification(Frame f, MainGUI _mgui, String title, String _hostProVerif, String _pathCode, String _pathExecute, AvatarDesignPanel adp, boolean lim, HashMap<String, HashSet<String>> cpuTasks) {
         super(f, title, Dialog.ModalityType.DOCUMENT_MODAL);
 
         mgui = _mgui;
         this.adp = adp;
         this.pvoa = null;
-		this.limit=lim;
+        this.limit = lim;
 
         pathCode = _pathCode;
 
@@ -213,14 +213,14 @@ public class JDialogProverifVerification extends JDialog implements ActionListen
 
         hostProVerif = _hostProVerif;
         this.cpuTaskMap = cpuTasks;
-		for (String cpu: cpuTasks.keySet()){
-			for (String task: cpuTasks.get(cpu)){
-				ignoredTasks.add(task);
-				taskCpuMap.put(task,cpu);
-			}
-		}
-		currPanel = mgui.getCurrentTURTLEPanel();
-		
+        for (String cpu : cpuTasks.keySet()) {
+            for (String task : cpuTasks.get(cpu)) {
+                ignoredTasks.add(task);
+                taskCpuMap.put(task, cpu);
+            }
+        }
+        currPanel = mgui.getCurrentTURTLEPanel();
+
         initComponents();
         myInitComponents();
         pack();
@@ -257,15 +257,13 @@ public class JDialogProverifVerification extends JDialog implements ActionListen
     }
 
     protected void initComponents() {
-    
-		jp1 = GraphicLib.createTabbedPane();//new JTabbedPane();
+
+        jp1 = GraphicLib.createTabbedPane();//new JTabbedPane();
         int curY = 0;
         Container c = getContentPane();
         setFont(new Font("Helvetica", Font.PLAIN, 14));
         c.setLayout(new BorderLayout());
 
-		
-
 
         JPanel jp02 = new JPanel();
         GridBagLayout gridbag01 = new GridBagLayout();
@@ -281,6 +279,7 @@ public class JDialogProverifVerification extends JDialog implements ActionListen
         c01.gridheight = 1;
 
         //genJava.addActionListener(this);
+
 		secGroup=new ButtonGroup(); 
         autoSec= new JRadioButton("Add security");
 		jp02.add(autoSec, c01);
@@ -288,16 +287,17 @@ public class JDialogProverifVerification extends JDialog implements ActionListen
 		secGroup.add(autoSec);
         autoConf= new JCheckBox("Add security (Confidentiality)");
         jp02.add(autoConf, c01);
-		autoConf.setEnabled(false);
-		autoConf.addActionListener(this);
-        autoWeakAuth= new JCheckBox("Add security (Weak Authenticity)");
-		autoWeakAuth.setEnabled(false);
+        autoConf.setEnabled(false);
+        autoConf.addActionListener(this);
+        autoWeakAuth = new JCheckBox("Add security (Weak Authenticity)");
+        autoWeakAuth.setEnabled(false);
         jp02.add(autoWeakAuth, c01);
-		autoWeakAuth.addActionListener(this);
+        autoWeakAuth.addActionListener(this);
 
-        autoStrongAuth= new JCheckBox("Add security (Strong Authenticity)");
-		autoStrongAuth.setEnabled(false);
+        autoStrongAuth = new JCheckBox("Add security (Strong Authenticity)");
+        autoStrongAuth.setEnabled(false);
         jp02.add(autoStrongAuth, c01);
+
 		autoStrongAuth.addActionListener(this);
         autoMapKeys= new JRadioButton("Add Keys");
 		autoMapKeys.addActionListener(this);
@@ -317,15 +317,16 @@ public class JDialogProverifVerification extends JDialog implements ActionListen
 		c02.gridheight=1;
 		c02.fill= GridBagConstraints.BOTH;
      	listIgnored.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION );
+
         listIgnored.addListSelectionListener(this);
         JScrollPane scrollPane1 = new JScrollPane(listIgnored);
-		scrollPane1.setPreferredSize(new Dimension(250,200));
+        scrollPane1.setPreferredSize(new Dimension(250, 200));
         listPanel.add(scrollPane1, BorderLayout.WEST);
 
-		JPanel buttonPanel = new JPanel();
-		GridBagConstraints c13 = new GridBagConstraints();
-		c13.gridwidth=GridBagConstraints.REMAINDER;
-		c13.gridheight=1;
+        JPanel buttonPanel = new JPanel();
+        GridBagConstraints c13 = new GridBagConstraints();
+        c13.gridwidth = GridBagConstraints.REMAINDER;
+        c13.gridheight = 1;
         JButton allValidated = new JButton(IconManager.imgic50);
         allValidated.setPreferredSize(new Dimension(50, 25));
         allValidated.addActionListener(this);
@@ -344,29 +345,29 @@ public class JDialogProverifVerification extends JDialog implements ActionListen
         addOneIgnored.addActionListener(this);
         addOneIgnored.setPreferredSize(new Dimension(50, 25));
         addOneIgnored.setActionCommand("addOneIgnored");
-        buttonPanel.add(addOneIgnored, c13);	
+        buttonPanel.add(addOneIgnored, c13);
 
         JButton allIgnored = new JButton(IconManager.imgic44);
         allIgnored.addActionListener(this);
         allIgnored.setPreferredSize(new Dimension(50, 25));
         allIgnored.setActionCommand("allIgnored");
         buttonPanel.add(allIgnored, c13);
-		listPanel.add(buttonPanel, c02);
-		buttonPanel.setPreferredSize(new Dimension(50,200));
+        listPanel.add(buttonPanel, c02);
+        buttonPanel.setPreferredSize(new Dimension(50, 200));
 
-		listSelected=new JList<String>(selectedTasks);
+        listSelected = new JList<String>(selectedTasks);
 
         //listValidated.setPreferredSize(new Dimension(200, 250));
-        listSelected.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION );
+        listSelected.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);
         listSelected.addListSelectionListener(this);
         JScrollPane scrollPane2 = new JScrollPane(listSelected);
-		scrollPane2.setPreferredSize(new Dimension(250,200));
+        scrollPane2.setPreferredSize(new Dimension(250, 200));
         listPanel.add(scrollPane2, BorderLayout.CENTER);
-		listPanel.setPreferredSize(new Dimension(600,250));
-		listPanel.setMinimumSize(new Dimension(600,250));
-		c01.gridheight=10;
-		jp02.add(listPanel,c01);
-		c02.gridheight=1;
+        listPanel.setPreferredSize(new Dimension(600, 250));
+        listPanel.setMinimumSize(new Dimension(600, 250));
+        c01.gridheight = 10;
+        jp02.add(listPanel, c01);
+        c02.gridheight = 1;
 		
 		
 /*
@@ -390,30 +391,33 @@ public class JDialogProverifVerification extends JDialog implements ActionListen
 			addHSM.setEnabled(false);
 		}
 */
-   //     addToComp = new JTextField(compName);
+        //     addToComp = new JTextField(compName);
         //jp01.add(addToComp,c01);
 
+        removeForkAndJoin = new JCheckBox("Remove fork and join operators");
+        if (mgui.isExperimentalOn()) {
+            //jp02.add(removeForkAndJoin, c01);
+            //removeForkAndJoin.addActionListener(this);
+        }
 
         custom = new JCheckBox("Custom performance attributes");
-        jp02.add(custom,c01);
-		custom.addActionListener(this);
+        jp02.add(custom, c01);
+        custom.addActionListener(this);
 
-        jp02.add(new JLabel("Encryption Computational Complexity"),c01);
+        jp02.add(new JLabel("Encryption Computational Complexity"), c01);
         encTime = new JTextField(encCC);
-		encTime.setEnabled(false);
-        jp02.add(encTime,c01);
+        encTime.setEnabled(false);
+        jp02.add(encTime, c01);
 
-        jp02.add(new JLabel("Decryption Computational Complexity"),c01);
+        jp02.add(new JLabel("Decryption Computational Complexity"), c01);
         decTime = new JTextField(decCC);
-		decTime.setEnabled(false);
-        jp02.add(decTime,c01);
+        decTime.setEnabled(false);
+        jp02.add(decTime, c01);
 
-        jp02.add(new JLabel("Data Overhead (bits)"),c01);
+        jp02.add(new JLabel("Data Overhead (bits)"), c01);
         secOverhead = new JTextField(secOv);
-		secOverhead.setEnabled(false);
-        jp02.add(secOverhead,c01);
-
-
+        secOverhead.setEnabled(false);
+        jp02.add(secOverhead, c01);
 
 
         JPanel jp01 = new JPanel();
@@ -422,18 +426,12 @@ public class JDialogProverifVerification extends JDialog implements ActionListen
         jp01.setBorder(new javax.swing.border.TitledBorder("Verification options"));
 
 
-
-
-
-
-
-
         JLabel gen = new JLabel("Generate ProVerif code in: ");
-       
+
         addComponent(jp01, gen, 0, curY, 1, GridBagConstraints.CENTER, GridBagConstraints.BOTH);
 
         code1 = new JTextField(pathCode, 100);
-        code1.setPreferredSize(new Dimension(100,10));
+        code1.setPreferredSize(new Dimension(100, 10));
         addComponent(jp01, code1, 1, curY, 3, GridBagConstraints.EAST, GridBagConstraints.BOTH);
         curY++;
 
@@ -453,9 +451,9 @@ public class JDialogProverifVerification extends JDialog implements ActionListen
         addComponent(jp01, stateReachabilityAll, 1, curY, 1, GridBagConstraints.CENTER, GridBagConstraints.BOTH);
         addComponent(jp01, stateReachabilitySelected, 2, curY, 1, GridBagConstraints.CENTER, GridBagConstraints.BOTH);
         addComponent(jp01, stateReachabilityNone, 3, curY, 1, GridBagConstraints.CENTER, GridBagConstraints.BOTH);
-        stateReachabilityGroup.add (stateReachabilityAll);
-        stateReachabilityGroup.add (stateReachabilitySelected);
-        stateReachabilityGroup.add (stateReachabilityNone);
+        stateReachabilityGroup.add(stateReachabilityAll);
+        stateReachabilityGroup.add(stateReachabilitySelected);
+        stateReachabilityGroup.add(stateReachabilityNone);
         stateReachabilityAll.setSelected(true);
         curY++;
 
@@ -465,8 +463,8 @@ public class JDialogProverifVerification extends JDialog implements ActionListen
         JRadioButton privateChannelNoDup = new JRadioButton("No");
         addComponent(jp01, privateChannelDup, 2, curY, 1, GridBagConstraints.CENTER, GridBagConstraints.BOTH);
         addComponent(jp01, privateChannelNoDup, 3, curY, 1, GridBagConstraints.CENTER, GridBagConstraints.BOTH);
-        privateChannelGroup.add (privateChannelDup);
-        privateChannelGroup.add (privateChannelNoDup);
+        privateChannelGroup.add(privateChannelDup);
+        privateChannelGroup.add(privateChannelNoDup);
         // TODO: change that
         // privateChannelNoDup.setSelected(true);
         privateChannelDup.setSelected(true);
@@ -475,27 +473,27 @@ public class JDialogProverifVerification extends JDialog implements ActionListen
         typedLanguage = new JCheckBox("Generate typed Pi calculus");
         typedLanguage.setSelected(true);
         addComponent(jp01, typedLanguage, 0, curY, 1, GridBagConstraints.CENTER, GridBagConstraints.BOTH);
-		curY++;
-   	    loopLimit = new JTextField("1", 3);
-		if (limit){
-	        addComponent(jp01, new JLabel("Limit on loop iterations:"), 0, curY, 1, GridBagConstraints.CENTER, GridBagConstraints.BOTH);
-    	    addComponent(jp01, loopLimit, 1, curY, 2, GridBagConstraints.CENTER, GridBagConstraints.BOTH);
-    	    curY++;
-		}
+        curY++;
+        loopLimit = new JTextField("1", 3);
+        if (limit) {
+            addComponent(jp01, new JLabel("Limit on loop iterations:"), 0, curY, 1, GridBagConstraints.CENTER, GridBagConstraints.BOTH);
+            addComponent(jp01, loopLimit, 1, curY, 2, GridBagConstraints.CENTER, GridBagConstraints.BOTH);
+            curY++;
+        }
+
+        JLabel empty = new JLabel("");
+        jp01.add(empty, new GridBagConstraints(0, curY, 3, 1, 1.0, 1.0, GridBagConstraints.CENTER, GridBagConstraints.BOTH, insets, 0, 0));
 
-		JLabel empty = new JLabel("");
-		jp01.add(empty, new GridBagConstraints(0, curY, 3, 1, 1.0, 1.0,GridBagConstraints.CENTER, GridBagConstraints.BOTH, insets, 0, 0));
-	
         jta = new JPanel();
         jta.setLayout(new GridBagLayout());
         jta.setBorder(new javax.swing.border.TitledBorder("Results"));
         Font f = new Font("Courrier", Font.BOLD, 12);
         jta.setFont(f);
         jsp = new JScrollPane(jta, JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED, JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
-        jsp.setPreferredSize(new Dimension(300,300));
+        jsp.setPreferredSize(new Dimension(300, 300));
         c.add(jsp, BorderLayout.CENTER);
-     
-	//	addComponent(jp01, jsp, 1, curY, 2, GridBagConstraints.CENTER, GridBagConstraints.BOTH);
+
+        //	addComponent(jp01, jsp, 1, curY, 2, GridBagConstraints.CENTER, GridBagConstraints.BOTH);
         start = new JButton("Start", IconManager.imgic53);
         stop = new JButton("Stop", IconManager.imgic55);
         close = new JButton("Close", IconManager.imgic27);
@@ -515,11 +513,11 @@ public class JDialogProverifVerification extends JDialog implements ActionListen
 
 
         jp1.add("Security Verification", jp01);
-        
-		if (currPanel instanceof TMLArchiPanel){
-			//Can only secure a mapping
-	        jp1.add("Automated Security", jp02);
-		}        
+
+        if (currPanel instanceof TMLArchiPanel) {
+            //Can only secure a mapping
+            jp1.add("Automated Security", jp02);
+        }
         c.add(jp1, BorderLayout.NORTH);
         c.add(jp2, BorderLayout.SOUTH);
 
@@ -528,18 +526,18 @@ public class JDialogProverifVerification extends JDialog implements ActionListen
         this.menuItem.addActionListener(this);
         popup.add(this.menuItem);
     }
-    
+
     private void handleStartButton() {
-		//
+        //
 
     }
 
 
     private void addOneIgnored() {
-        int [] list = listSelected.getSelectedIndices();
+        int[] list = listSelected.getSelectedIndices();
         Vector<String> v = new Vector<String>();
         String o;
-        for (int i=0; i<list.length; i++){
+        for (int i = 0; i < list.length; i++) {
             o = selectedTasks.elementAt(list[i]);
             ignoredTasks.addElement(o);
             v.addElement(o);
@@ -552,11 +550,11 @@ public class JDialogProverifVerification extends JDialog implements ActionListen
     }
 
     private void addOneValidated() {
-        int [] list = listIgnored.getSelectedIndices();
+        int[] list = listIgnored.getSelectedIndices();
         Vector<String> v = new Vector<String>();
         String o;
-        
-        for (int i=0; i<list.length; i++){
+
+        for (int i = 0; i < list.length; i++) {
             o = ignoredTasks.elementAt(list[i]);
             selectedTasks.addElement(o);
             v.addElement(o);
@@ -585,8 +583,7 @@ public class JDialogProverifVerification extends JDialog implements ActionListen
     }
 
 
-
-    public void actionPerformed(ActionEvent evt)  {
+    public void actionPerformed(ActionEvent evt) {
         String command = evt.getActionCommand();
 
         switch (command) {
@@ -651,46 +648,44 @@ public class JDialogProverifVerification extends JDialog implements ActionListen
                 }
                 break;
             default:
-            	if ( (evt.getSource() == autoWeakAuth) ||(evt.getSource() == autoStrongAuth) ||(evt.getSource() == autoConf) || (evt.getSource() == autoMapKeys)) {
-	    			handleStartButton();
-				}
-			else if (evt.getSource() instanceof JCheckBox){
-				//Disable and enable tasks
-				JCheckBox src = (JCheckBox) evt.getSource();
-				if (cpuTaskObjs.containsKey(src)){
-					for (JCheckBox taskBox: cpuTaskObjs.get(src)){
-						taskBox.setEnabled(src.isSelected());
-					}
-				}
-			}
-			else if (command.equals("addOneIgnored")) {
-        	    addOneIgnored();
-       	 	} else if (command.equals("addOneValidated")) {
-            	addOneValidated();
-        	} else if (command.equals("allValidated")) {
-            	allValidated();
-        	} else if (command.equals("allIgnored")) {
-            	allIgnored();
-        	}
-			if (evt.getSource() == addHSM){
-				listPanel.setEnabled(addHSM.isSelected());
-			}
-			if (evt.getSource() == autoConf || evt.getSource() == autoSec ||evt.getSource() == autoMapKeys || evt.getSource() == addHSM || evt.getSource()==autoWeakAuth){	
-				//autoWeakAuth.setEnabled(autoConf.isSelected());
-				autoConf.setEnabled(autoSec.isSelected());
-				autoWeakAuth.setEnabled(autoSec.isSelected());
-				autoStrongAuth.setEnabled(autoWeakAuth.isSelected());
-				if (!autoSec.isSelected()){
-					autoConf.setSelected(false);
-					autoWeakAuth.setSelected(false);
-					autoStrongAuth.setSelected(false);
-				}
-			}
-			if (evt.getSource() == custom){
-				encTime.setEnabled(custom.isSelected());
-				decTime.setEnabled(custom.isSelected());
-				secOverhead.setEnabled(custom.isSelected());
-			}
+                if ((evt.getSource() == autoWeakAuth) || (evt.getSource() == autoStrongAuth) || (evt.getSource() == autoConf) || (evt.getSource() == autoMapKeys)) {
+                    handleStartButton();
+                } else if (evt.getSource() instanceof JCheckBox) {
+                    //Disable and enable tasks
+                    JCheckBox src = (JCheckBox) evt.getSource();
+                    if (cpuTaskObjs.containsKey(src)) {
+                        for (JCheckBox taskBox : cpuTaskObjs.get(src)) {
+                            taskBox.setEnabled(src.isSelected());
+                        }
+                    }
+                } else if (command.equals("addOneIgnored")) {
+                    addOneIgnored();
+                } else if (command.equals("addOneValidated")) {
+                    addOneValidated();
+                } else if (command.equals("allValidated")) {
+                    allValidated();
+                } else if (command.equals("allIgnored")) {
+                    allIgnored();
+                }
+                if (evt.getSource() == addHSM) {
+                    listPanel.setEnabled(addHSM.isSelected());
+                }
+                if (evt.getSource() == autoConf || evt.getSource() == autoSec || evt.getSource() == autoMapKeys || evt.getSource() == addHSM || evt.getSource() == autoWeakAuth) {
+                    //autoWeakAuth.setEnabled(autoConf.isSelected());
+                    autoConf.setEnabled(autoSec.isSelected());
+                    autoWeakAuth.setEnabled(autoSec.isSelected());
+                    autoStrongAuth.setEnabled(autoWeakAuth.isSelected());
+                    if (!autoSec.isSelected()) {
+                        autoConf.setSelected(false);
+                        autoWeakAuth.setSelected(false);
+                        autoStrongAuth.setSelected(false);
+                    }
+                }
+                if (evt.getSource() == custom) {
+                    encTime.setEnabled(custom.isSelected());
+                    decTime.setEnabled(custom.isSelected());
+                    secOverhead.setEnabled(custom.isSelected());
+                }
         }
     }
 
@@ -705,14 +700,14 @@ public class JDialogProverifVerification extends JDialog implements ActionListen
     }
 
     public void stopProcess() {
-        if (rshc != null ){
+        if (rshc != null) {
             try {
                 rshc.stopCommand();
             } catch (LauncherException ignored) {
             }
         }
         rshc = null;
-        mode =  STOPPED;
+        mode = STOPPED;
         setButtons();
         go = false;
     }
@@ -746,36 +741,34 @@ public class JDialogProverifVerification extends JDialog implements ActionListen
         TraceManager.addDev("Thread started");
         File testFile;
         try {
-         if (jp1.getSelectedIndex() == 1){
-            encCC=encTime.getText();
-            decCC=decTime.getText();
-            secOv = secOverhead.getText();
-            TMLMapping map;
-            if (autoConf.isSelected() || autoWeakAuth.isSelected() || autoStrongAuth.isSelected()){
-                if (custom.isSelected()){
-                    map = mgui.gtm.autoSecure(mgui, encCC,secOv,decCC,autoConf.isSelected(), autoWeakAuth.isSelected(),autoStrongAuth.isSelected());
-                }
-                else {
-                    map = mgui.gtm.autoSecure(mgui,autoConf.isSelected(), autoWeakAuth.isSelected(),autoStrongAuth.isSelected());
-                }
-            }
-			else if (addHSM.isSelected()){
-			
-			//	ArrayList<String> comps = new ArrayList<String>();
-			//	comps.add(addToComp.getText());
-				Map<String, java.util.List<String>> selectedCpuTasks = new HashMap<String, java.util.List<String>>();
-				
-				for (String task: selectedTasks){
-					String cpu = taskCpuMap.get(task);
-					if (selectedCpuTasks.containsKey(cpu)){
-						selectedCpuTasks.get(cpu).add(task);
-					}
-					else {
-						ArrayList<String> tasks = new ArrayList<String>();
-						tasks.add(task);	
-						selectedCpuTasks.put(cpu,tasks);
-					}
-				}
+            if (jp1.getSelectedIndex() == 1) {
+                encCC = encTime.getText();
+                decCC = decTime.getText();
+                secOv = secOverhead.getText();
+                TMLMapping map;
+                if (autoConf.isSelected() || autoWeakAuth.isSelected() || autoStrongAuth.isSelected()) {
+                    if (custom.isSelected()) {
+                        map = mgui.gtm.autoSecure(mgui, encCC, secOv, decCC, autoConf.isSelected(), autoWeakAuth.isSelected(), autoStrongAuth
+                                .isSelected());
+                    } else {
+                        map = mgui.gtm.autoSecure(mgui, autoConf.isSelected(), autoWeakAuth.isSelected(), autoStrongAuth.isSelected());
+                    }
+                } else if (addHSM.isSelected()) {
+
+                    //	ArrayList<String> comps = new ArrayList<String>();
+                    //	comps.add(addToComp.getText());
+                    Map<String, java.util.List<String>> selectedCpuTasks = new HashMap<String, java.util.List<String>>();
+
+                    for (String task : selectedTasks) {
+                        String cpu = taskCpuMap.get(task);
+                        if (selectedCpuTasks.containsKey(cpu)) {
+                            selectedCpuTasks.get(cpu).add(task);
+                        } else {
+                            ArrayList<String> tasks = new ArrayList<String>();
+                            tasks.add(task);
+                            selectedCpuTasks.put(cpu, tasks);
+                        }
+                    }
 				/*for (JCheckBox cpu: cpuTaskObjs.keySet()){
 					ArrayList<String> tasks = new ArrayList<String>();	
 					for (JCheckBox task: cpuTaskObjs.get(cpu)){
@@ -788,82 +781,78 @@ public class JDialogProverifVerification extends JDialog implements ActionListen
 					}
 				}
 				mgui.gtm.addHSM(mgui, selectedCpuTasks);*/
-				mgui.gtm.addHSM(mgui, selectedCpuTasks);
-			}
-            if (autoMapKeys.isSelected()){
-                mgui.gtm.autoMapKeys();
-            }
-			mode = NOT_STARTED;
-        }
-		else {
-            testGo();
-            pathCode = code1.getText().trim ();
+                    mgui.gtm.addHSM(mgui, selectedCpuTasks);
+                }
+                if (autoMapKeys.isSelected()) {
+                    mgui.gtm.autoMapKeys();
+                }
+                mode = NOT_STARTED;
+            } else {
+                testGo();
+                pathCode = code1.getText().trim();
+
+                if (pathCode.isEmpty()) {
+                    pathCode += "pvspec";
+                }
+
+                SpecConfigTTool.checkAndCreateProverifDir(pathCode);
 
-            if (pathCode.isEmpty()) {
                 pathCode += "pvspec";
-            }
-            
-            SpecConfigTTool.checkAndCreateProverifDir(pathCode);
+                testFile = new File(pathCode);
 
-            pathCode += "pvspec";
-            testFile = new File(pathCode);
-            
 
-            File dir = testFile.getParentFile();
+                File dir = testFile.getParentFile();
 
-            if (dir == null || !dir.exists()) {
-                mode = STOPPED;
-                setButtons();
-                throw new ProVerifVerificationException("Error: invalid file: " + pathCode);
-            }
+                if (dir == null || !dir.exists()) {
+                    mode = STOPPED;
+                    setButtons();
+                    throw new ProVerifVerificationException("Error: invalid file: " + pathCode);
+                }
 
 
-            if (testFile.exists()){
-                // FIXME Raise error if modified since last
-                TraceManager.addDev("FILE EXISTS!!!");
-            }
+                if (testFile.exists()) {
+                    // FIXME Raise error if modified since last
+                    TraceManager.addDev("FILE EXISTS!!!");
+                }
 
-            if ( !mgui.gtm.generateProVerifFromAVATAR(
+                if (!mgui.gtm.generateProVerifFromAVATAR(
                         pathCode,
-                        stateReachabilityAll.isSelected () ? REACHABILITY_ALL : stateReachabilitySelected.isSelected () ? REACHABILITY_SELECTED : REACHABILITY_NONE,
+                        stateReachabilityAll.isSelected() ? REACHABILITY_ALL : stateReachabilitySelected.isSelected() ? REACHABILITY_SELECTED : REACHABILITY_NONE,
                         typedLanguage.isSelected(),
                         privateChannelDup.isSelected(),
                         loopLimit.getText())
-                    ) {
-                        throw new ProVerifVerificationException("Could not generate proverif code");
-                    }
+                        ) {
+                    throw new ProVerifVerificationException("Could not generate proverif code");
+                }
 
-            String cmd = exe2.getText().trim();
+                String cmd = exe2.getText().trim();
 
-            if (this.typedLanguage.isSelected())
-            {
-                cmd += " -in pitype ";
-            }
-            else
-            {
-                cmd += " -in pi ";
-            }
+                if (this.typedLanguage.isSelected()) {
+                    cmd += " -in pitype ";
+                } else {
+                    cmd += " -in pi ";
+                }
 
-            cmd += pathCode;
-            //jta.append("" +  mgui.gtm.getCheckingWarnings().size() + " warning(s)\n");
-            testGo();
+                cmd += pathCode;
+                //jta.append("" +  mgui.gtm.getCheckingWarnings().size() + " warning(s)\n");
+                testGo();
 
-            this.rshc = new RshClient(hostProVerif);
-            this.rshc.setCmd(cmd);
-            this.rshc.sendExecuteCommandRequest();
-            RshClientReader reader = this.rshc.getDataReaderFromProcess();
+                this.rshc = new RshClient(hostProVerif);
+                this.rshc.setCmd(cmd);
+                this.rshc.sendExecuteCommandRequest();
+                RshClientReader reader = this.rshc.getDataReaderFromProcess();
 
-            if (this.pvoa == null) {
-                this.pvoa = mgui.gtm.getProVerifOutputAnalyzer ();
-                this.pvoa.addListener(this);
-            }
-            this.pvoa.analyzeOutput(reader, typedLanguage.isSelected());
+                if (this.pvoa == null) {
+                    this.pvoa = mgui.gtm.getProVerifOutputAnalyzer();
+                    this.pvoa.addListener(this);
+                }
+                this.pvoa.analyzeOutput(reader, typedLanguage.isSelected());
 
-            mgui.modelBacktracingProVerif(pvoa);
+                mgui.modelBacktracingProVerif(pvoa);
 
-            mode = NOT_STARTED;
+                mode = NOT_STARTED;
 
-			}
+            }
         } catch (LauncherException | ProVerifVerificationException le) {
             JLabel label = new JLabel("Error: " + le.getMessage());
             label.setAlignmentX(Component.LEFT_ALIGNMENT);
@@ -872,7 +861,7 @@ public class JDialogProverifVerification extends JDialog implements ActionListen
         } catch (InterruptedException ie) {
             mode = NOT_STARTED;
         } catch (FileException e) {
-        	System.err.println(e.getMessage() + " : Can't generate proverif file.");
+            System.err.println(e.getMessage() + " : Can't generate proverif file.");
         } catch (Exception e) {
             mode = STOPPED;
             throw e;
@@ -884,7 +873,7 @@ public class JDialogProverifVerification extends JDialog implements ActionListen
     }
 
     protected void setButtons() {
-        switch(mode) {
+        switch (mode) {
             case NOT_STARTED:
                 start.setEnabled(true);
                 stop.setEnabled(false);
@@ -908,52 +897,42 @@ public class JDialogProverifVerification extends JDialog implements ActionListen
     }
 
     @Override
-    public void setError()
-    {
+    public void setError() {
     }
 
     @Override
-    public void appendOut(String s)
-    {
+    public void appendOut(String s) {
     }
 
     @Override
-    public boolean hasToContinue()
-    {
+    public boolean hasToContinue() {
         return this.go;
     }
 
     @Override
-    public void mouseClicked(MouseEvent e)
-    {
+    public void mouseClicked(MouseEvent e) {
     }
 
     @Override
-    public void mouseEntered(MouseEvent e)
-    {
+    public void mouseEntered(MouseEvent e) {
     }
 
     @Override
-    public void mouseExited(MouseEvent e)
-    {
+    public void mouseExited(MouseEvent e) {
     }
 
     @Override
-    public void mousePressed(MouseEvent e)
-    {
+    public void mousePressed(MouseEvent e) {
         this.maybeShowPopup(e);
     }
 
     @Override
-    public void mouseReleased(MouseEvent e)
-    {
+    public void mouseReleased(MouseEvent e) {
         this.maybeShowPopup(e);
     }
 
-    private void maybeShowPopup(MouseEvent e)
-    {
-        if (e.isPopupTrigger() && e.getComponent() instanceof JList)
-        {
+    private void maybeShowPopup(MouseEvent e) {
+        if (e.isPopupTrigger() && e.getComponent() instanceof JList) {
             JList curList = (JList) e.getComponent();
             int row = curList.locationToIndex(e.getPoint());
             curList.clearSelection();
@@ -962,22 +941,20 @@ public class JDialogProverifVerification extends JDialog implements ActionListen
             if (o instanceof AvatarPragma) {
                 this.menuItem.pragma = (AvatarPragma) o;
                 this.menuItem.result = this.results.get(this.menuItem.pragma);
-             //   this.menuItem.setEnabled(this.adp != null && this.menuItem.result.getTrace() != null);
-				this.menuItem.setEnabled(this.menuItem.result.getTrace() != null);
+                //   this.menuItem.setEnabled(this.adp != null && this.menuItem.result.getTrace() != null);
+                this.menuItem.setEnabled(this.menuItem.result.getTrace() != null);
                 popup.show(e.getComponent(), e.getX(), e.getY());
             }
         }
     }
 
     @Override
-    public void valueChanged(ListSelectionEvent e)
-    {
+    public void valueChanged(ListSelectionEvent e) {
         // TODO: unselect the other lists
     }
 
     @Override
-    public void proVerifOutputChanged()
-    {
+    public void proVerifOutputChanged() {
         JLabel label;
         this.jta.removeAll();
 
@@ -990,62 +967,47 @@ public class JDialogProverifVerification extends JDialog implements ActionListen
             label = new JLabel("----------------");
             label.setAlignmentX(Component.LEFT_ALIGNMENT);
             this.jta.add(label, this.createGbc(y++));
-            this.jta.add(Box.createRigidArea(new Dimension(0,5)), this.createGbc(y++));
-            for(String error: pvoa.getErrors()) {
+            this.jta.add(Box.createRigidArea(new Dimension(0, 5)), this.createGbc(y++));
+            for (String error : pvoa.getErrors()) {
                 label = new JLabel(error);
                 label.setAlignmentX(Component.LEFT_ALIGNMENT);
-                this.jta.add(label,this.createGbc(y++));
+                this.jta.add(label, this.createGbc(y++));
             }
         } else {
-            LinkedList<AvatarPragma> reachableEvents = new LinkedList<> ();
-            LinkedList<AvatarPragma> nonReachableEvents = new LinkedList<> ();
-            LinkedList<AvatarPragma> secretTerms = new LinkedList<> ();
-            LinkedList<AvatarPragma> nonSecretTerms = new LinkedList<> ();
-            LinkedList<AvatarPragma> satisfiedStrongAuth = new LinkedList<> ();
-            LinkedList<AvatarPragma> satisfiedWeakAuth = new LinkedList<> ();
-            LinkedList<AvatarPragma> nonSatisfiedAuth = new LinkedList<> ();
-            LinkedList<AvatarPragma> nonProved = new LinkedList<> ();
+            LinkedList<AvatarPragma> reachableEvents = new LinkedList<>();
+            LinkedList<AvatarPragma> nonReachableEvents = new LinkedList<>();
+            LinkedList<AvatarPragma> secretTerms = new LinkedList<>();
+            LinkedList<AvatarPragma> nonSecretTerms = new LinkedList<>();
+            LinkedList<AvatarPragma> satisfiedStrongAuth = new LinkedList<>();
+            LinkedList<AvatarPragma> satisfiedWeakAuth = new LinkedList<>();
+            LinkedList<AvatarPragma> nonSatisfiedAuth = new LinkedList<>();
+            LinkedList<AvatarPragma> nonProved = new LinkedList<>();
 
             this.results = this.pvoa.getResults();
-            for (AvatarPragma pragma: this.results.keySet())
-            {
-                if (pragma instanceof AvatarPragmaReachability)
-                {
+            for (AvatarPragma pragma : this.results.keySet()) {
+                if (pragma instanceof AvatarPragmaReachability) {
                     ProVerifQueryResult r = this.results.get(pragma);
-                    if (r.isProved())
-                    {
+                    if (r.isProved()) {
                         if (r.isSatisfied())
                             reachableEvents.add(pragma);
                         else
                             nonReachableEvents.add(pragma);
-                    }
-                    else
+                    } else
                         nonProved.add(pragma);
-                }
-
-                else if (pragma instanceof AvatarPragmaSecret)
-                {
+                } else if (pragma instanceof AvatarPragmaSecret) {
                     ProVerifQueryResult r = this.results.get(pragma);
-                    if (r.isProved())
-                    {
+                    if (r.isProved()) {
                         if (r.isSatisfied())
                             secretTerms.add(pragma);
                         else
                             nonSecretTerms.add(pragma);
-                    }
-                    else
+                    } else
                         nonProved.add(pragma);
-                }
-
-                else if (pragma instanceof AvatarPragmaAuthenticity)
-                {
+                } else if (pragma instanceof AvatarPragmaAuthenticity) {
                     ProVerifQueryAuthResult r = (ProVerifQueryAuthResult) this.results.get(pragma);
-                    if (!r.isWeakProved())
-                    {
+                    if (!r.isWeakProved()) {
                         nonProved.add(pragma);
-                    }
-                    else
-                    {
+                    } else {
                         if (!r.isProved())
                             nonProved.add(pragma);
                         if (r.isProved() && r.isSatisfied())
@@ -1058,7 +1020,7 @@ public class JDialogProverifVerification extends JDialog implements ActionListen
                 }
             }
 
-            Collection<ProVerifResultSection> sectionsList = new LinkedList<> ();
+            Collection<ProVerifResultSection> sectionsList = new LinkedList<>();
             Collections.sort(reachableEvents);
             Collections.sort(nonReachableEvents);
             Collections.sort(secretTerms);
@@ -1078,20 +1040,18 @@ public class JDialogProverifVerification extends JDialog implements ActionListen
 
             int y = 0;
 
-            for (ProVerifResultSection section: sectionsList)
-            {
-                if (!section.results.isEmpty())
-                {
+            for (ProVerifResultSection section : sectionsList) {
+                if (!section.results.isEmpty()) {
                     label = new JLabel(section.title);
                     label.setAlignmentX(Component.LEFT_ALIGNMENT);
                     this.jta.add(label, this.createGbc(y++));
-                    this.jta.add(Box.createRigidArea(new Dimension(0,5)), this.createGbc(y++));
-                    section.jlist = new JList<> (section.results.toArray (new AvatarPragma[0]));
+                    this.jta.add(Box.createRigidArea(new Dimension(0, 5)), this.createGbc(y++));
+                    section.jlist = new JList<>(section.results.toArray(new AvatarPragma[0]));
                     section.jlist.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
                     section.jlist.addMouseListener(this);
                     section.jlist.setAlignmentX(Component.LEFT_ALIGNMENT);
                     this.jta.add(section.jlist, this.createGbc(y++));
-                    this.jta.add(Box.createRigidArea(new Dimension(0,10)), this.createGbc(y++));
+                    this.jta.add(Box.createRigidArea(new Dimension(0, 10)), this.createGbc(y++));
                 }
             }
         }
diff --git a/src/main/java/ui/window/JDialogSystemCGeneration.java b/src/main/java/ui/window/JDialogSystemCGeneration.java
index d0b12ef74a5683a32a26e7ad39ce432d1f3b38b9..d8ef40e942f42b6dacc58bc83f6e8cec21bf9973 100755
--- a/src/main/java/ui/window/JDialogSystemCGeneration.java
+++ b/src/main/java/ui/window/JDialogSystemCGeneration.java
@@ -61,6 +61,7 @@ import javax.swing.event.ListSelectionListener;
 import java.awt.*;
 import java.awt.event.ActionEvent;
 import java.awt.event.ActionListener;
+import java.io.File;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Vector;
@@ -161,6 +162,11 @@ public class JDialogSystemCGeneration extends JDialog implements ActionListener,
 
         mgui = _mgui;
 
+        // Must first create all directories
+        new File(_pathCode).mkdirs();
+        new File(_graphPath).mkdirs();
+
+
         pathCode = _pathCode;
 
         pathCompiler = _pathCompiler;
@@ -178,13 +184,15 @@ public class JDialogSystemCGeneration extends JDialog implements ActionListener,
 
         pathFormalExecute = pathInteractiveExecute;
 
+
         int index = pathFormalExecute.indexOf("-server");
         if (index != -1) {
-            pathFormalExecute = pathFormalExecute.substring(0, index) + pathFormalExecute.substring(index + 7, pathFormalExecute.length());
+            pathFormalExecute = pathFormalExecute.substring(0, index) +
+                    pathFormalExecute.substring(index + 7, pathFormalExecute.length());
             pathFormalExecute += " -gname graph -explo";
-
         }
 
+
         simulatorHost = _simulatorHost;
 
         automatic = _automatic;
@@ -662,8 +670,7 @@ public class JDialogSystemCGeneration extends JDialog implements ActionListener,
         setButtons();
     }
 
-    private void generateCode()
-            throws InterruptedException {
+    private void generateCode() throws InterruptedException {
         String list;
 
         jta.append("Generating simulator C++ code\n");
@@ -758,8 +765,8 @@ public class JDialogSystemCGeneration extends JDialog implements ActionListener,
                     testGo();
                     jta.append("Simulator code generation done\n");
 
-                    for (final TEPE tep: alTepe) {
-                        TraceManager.addDev(tep.toString());
+                    for (final TEPE tep : alTepe) {
+                        //TraceManager.addDev(tep.toString());
                     }
 
                     jta.append("Saving C++ files...\n");
diff --git a/src/main/java/ui/window/JDialogTMLCompositePort.java b/src/main/java/ui/window/JDialogTMLCompositePort.java
index 545b1258673b7752ab811f06621f1d16a5a3d4c7..ffd54ac87a753409cb11cb86915177cc8a0d6f88 100755
--- a/src/main/java/ui/window/JDialogTMLCompositePort.java
+++ b/src/main/java/ui/window/JDialogTMLCompositePort.java
@@ -37,14 +37,11 @@
  */
 
 
-
-
 package ui.window;
 
-import ui.util.IconManager;
+import ui.TGComponent;
 import ui.TType;
 import ui.tmlcd.TMLDataFlowType;
-import ui.TGComponent;
 
 import javax.swing.*;
 import java.awt.*;
@@ -57,25 +54,26 @@ import java.util.Vector;
  * Class JDialogTMLCompositePort
  * Dialog for managing port properties
  * Creation: 26/03/2008
- * @version 1.0 26/03/2008
+ *
  * @author Ludovic APVRILLE
+ * @version 1.0 26/03/2008
  */
 
 public class JDialogTMLCompositePort extends JDialogBase implements ActionListener {
 
-	private JPanel panel3;
-	private Frame frame;
-    
+    private JPanel panel3;
+    private Frame frame;
+
     private String name;
-	private String dataFlowType = "VOID";
-	private String associatedEvent = "VOID";
+    private String dataFlowType = "VOID";
+    private String associatedEvent = "VOID";
     private TType type1, type2, type3, type4, type5;
     private boolean isFinite, isBlocking, isOrigin;
     private String maxInFIFO, widthSamples;
-	
-	private boolean isLossy, isPrex, isPostex;
-	private int lossPercentage;
-	private int maxNbOfLoss; //-1 means no max
+
+    private boolean isLossy, isPrex, isPostex;
+    private int lossPercentage;
+    private int maxNbOfLoss; //-1 means no max
 
     public boolean data;
     public boolean checkConf;
@@ -85,117 +83,120 @@ public class JDialogTMLCompositePort extends JDialogBase implements ActionListen
     private JComboBox<String> typePort, typeList1, typeList2, typeList3, typeList4, typeList5;
     private JComboBox<String> origin, finite, blocking, dfType;
     private JComboBox<TGComponent> refReq;
-	private JLabel lossPercentageLabel, maxNbOfLossLabel;
-	private int portIndex;
+    private JLabel lossPercentageLabel, maxNbOfLossLabel;
+    private int portIndex;
     private Vector<String> origins, finites, blockings, portTypes, types1, types2, types3, types4, types5;
-	private Vector<String> types;
+    private Vector<String> types;
     private Vector<TGComponent> refs;
     private TGComponent reference;
 
-	// Robustness
-	private JCheckBox isLossyBox, isPrexCB, isPostexCB, confCheckBox, authCheckBox;
-	private JTextField lossPercentageText, maxNbOfLossText;
+    // Robustness
+    private JCheckBox isLossyBox, isPrexCB, isPostexCB, confCheckBox, authCheckBox;
+    private JTextField lossPercentageText, maxNbOfLossText;
 
 
-	public JDialogTMLCompositePort(String _name, int _portIndex, TType _type1, TType _type2, TType _type3, TType _type4, TType _type5, boolean _isOrigin, boolean _isFinite, boolean _isBlocking, String _maxInFIFO, String _widthSamples, boolean _isLossy, int _lossPercentage, int _maxNbOfLoss, Frame f, String title, Vector<String> _types, String _dataFlowType, String _associatedEvent, boolean _isPrex, boolean _isPostex , boolean _checkConf, boolean _checkAuth, TGComponent _reference, Vector<TGComponent> _refs) {
+    public JDialogTMLCompositePort(String _name, int _portIndex, TType _type1, TType _type2, TType _type3, TType _type4, TType _type5, boolean _isOrigin, boolean _isFinite, boolean _isBlocking, String _maxInFIFO, String _widthSamples, boolean _isLossy, int _lossPercentage, int _maxNbOfLoss, Frame f, String title, Vector<String> _types, String _dataFlowType, String _associatedEvent, boolean _isPrex, boolean _isPostex, boolean _checkConf, boolean _checkAuth, TGComponent _reference, Vector<TGComponent> _refs) {
         super(f, title, true);
         frame = f;
-        
+
         name = _name;
-				portIndex = _portIndex;
-        type1 = _type1; type2 = _type2; type3 = _type3; type4 = _type4; type5 = _type5;
-		
-				types = _types;
-        
+        portIndex = _portIndex;
+        type1 = _type1;
+        type2 = _type2;
+        type3 = _type3;
+        type4 = _type4;
+        type5 = _type5;
+
+        types = _types;
+
         data = false;
-        
-		dataFlowType = _dataFlowType;
-		associatedEvent = _associatedEvent;
+
+        dataFlowType = _dataFlowType;
+        associatedEvent = _associatedEvent;
         maxInFIFO = _maxInFIFO;
-		widthSamples = _widthSamples;
-		isOrigin = _isOrigin;
+        widthSamples = _widthSamples;
+        isOrigin = _isOrigin;
         isFinite = _isFinite;
         isBlocking = _isBlocking;
-				
-		isPrex = _isPrex;
-		isPostex = _isPostex;
-		isLossy = _isLossy;
-		lossPercentage = _lossPercentage;
-		maxNbOfLoss = _maxNbOfLoss;
-		checkConf = _checkConf;
-		checkAuth = _checkAuth;
-		refs=_refs;
-		reference= _reference;
+
+        isPrex = _isPrex;
+        isPostex = _isPostex;
+        isLossy = _isLossy;
+        lossPercentage = _lossPercentage;
+        maxNbOfLoss = _maxNbOfLoss;
+        checkConf = _checkConf;
+        checkAuth = _checkAuth;
+        refs = _refs;
+        reference = _reference;
         myInitComponents();
         initComponents();
         checkMode();
-	
+
         pack();
     }
-    
+
     private void myInitComponents() {
-		
-		portTypes = new Vector<>();
-		portTypes.add("Channel");
-		portTypes.add("Event");
-		portTypes.add("Request");
-		
-        types1 = new Vector<>(); types2 = new Vector<>(); types3 = new Vector<>(); types4 = new Vector<>(); types5 = new Vector<>();
+
+        portTypes = new Vector<>();
+        portTypes.add("Channel");
+        portTypes.add("Event");
+        portTypes.add("Request");
+
+        types1 = new Vector<>();
+        types2 = new Vector<>();
+        types3 = new Vector<>();
+        types4 = new Vector<>();
+        types5 = new Vector<>();
         types1.add(TType.getStringType(0));
         types1.add(TType.getStringType(1));
         types1.add(TType.getStringType(2));
-		
+
         types2.add(TType.getStringType(0));
         types2.add(TType.getStringType(1));
         types2.add(TType.getStringType(2));
-		
+
         types3.add(TType.getStringType(0));
         types3.add(TType.getStringType(1));
         types3.add(TType.getStringType(2));
-		
-		types4.add(TType.getStringType(0));
+
+        types4.add(TType.getStringType(0));
         types4.add(TType.getStringType(1));
         types4.add(TType.getStringType(2));
-		
-		types5.add(TType.getStringType(0));
+
+        types5.add(TType.getStringType(0));
         types5.add(TType.getStringType(1));
         types5.add(TType.getStringType(2));
-		
-		addTypes(types1, types);
-		addTypes(types2, types);
-		addTypes(types3, types);
-		addTypes(types4, types);
-		addTypes(types5, types);
-		
-		origins = new Vector<>();
-		origins.add("Origin");
-		origins.add("Destination");
-		
-		finites = new Vector<>();
-		finites.add("Finite FIFO");
-		finites.add("Infinite FIFO");
-		
-		blockings = new Vector<>();
-		blockings.add("Blocking");
-		blockings.add("Non-blocking FIFO");
+
+        addTypes(types1, types);
+        addTypes(types2, types);
+        addTypes(types3, types);
+        addTypes(types4, types);
+        addTypes(types5, types);
+
+        origins = new Vector<>();
+        origins.add("Origin");
+        origins.add("Destination");
+
+        finites = new Vector<>();
+        finites.add("Finite FIFO");
+        finites.add("Infinite FIFO");
+
+        blockings = new Vector<>();
+        blockings.add("Blocking");
+        blockings.add("Non-blocking FIFO");
     }
-	
-	private void addTypes(Vector<String> v, Vector<String> types) {
-		v.addAll(types);
-	}
-    
+
+    private void addTypes(Vector<String> v, Vector<String> types) {
+        v.addAll(types);
+    }
+
     private void initComponents() {
-		int i;
-		
-		Vector<String> dataFlowTypes = new Vector<>();
-		dataFlowTypes.add( TMLDataFlowType.UINT_16 );
-		dataFlowTypes.add( TMLDataFlowType.UINT_32 );
-		dataFlowTypes.add( TMLDataFlowType.UINT_64 );
-		dataFlowTypes.add( TMLDataFlowType.INT_16 );
-		dataFlowTypes.add( TMLDataFlowType.INT_32 );
-		dataFlowTypes.add( TMLDataFlowType.INT_64 );
-		dataFlowTypes.add( TMLDataFlowType.CPX_32 );
-		dataFlowTypes.add( TMLDataFlowType.CPX_64 );
+        int i;
+
+        Vector<String> dataFlowTypes = new Vector<>();
+        dataFlowTypes.add(TMLDataFlowType.INT_16);
+        dataFlowTypes.add(TMLDataFlowType.INT_32);
+        dataFlowTypes.add(TMLDataFlowType.INT_64);
 
         Container c = getContentPane();
         GridBagLayout gridbag0 = new GridBagLayout();
@@ -204,21 +205,21 @@ public class JDialogTMLCompositePort extends JDialogBase implements ActionListen
         GridBagConstraints c1 = new GridBagConstraints();
         GridBagLayout gridbag2 = new GridBagLayout();
         GridBagConstraints c2 = new GridBagConstraints();
-		GridBagLayout gridbag3 = new GridBagLayout();
+        GridBagLayout gridbag3 = new GridBagLayout();
         GridBagConstraints c3 = new GridBagConstraints();
         GridBagConstraints c4 = new GridBagConstraints();
-		GridBagLayout gridbag4 = new GridBagLayout();
-        
+        GridBagLayout gridbag4 = new GridBagLayout();
+
         setFont(new Font("Helvetica", Font.PLAIN, 14));
         c.setLayout(gridbag0);
-        
+
         setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
 
-		JPanel panel1 = new JPanel();
+        JPanel panel1 = new JPanel();
         panel1.setLayout(gridbag1);
         panel1.setBorder(new javax.swing.border.TitledBorder("Name and type "));
         panel1.setPreferredSize(new Dimension(300, 150));
-        
+
         // First line panel1
         c1.gridwidth = 1;
         c1.gridheight = 1;
@@ -228,7 +229,7 @@ public class JDialogTMLCompositePort extends JDialogBase implements ActionListen
         c1.fill = GridBagConstraints.BOTH;
         c1.gridheight = 3;
         panel1.add(new JLabel(" "), c1);
-        
+
         c1.gridwidth = 1;
         c1.gridheight = 1;
         c1.weighty = 1.0;
@@ -238,39 +239,39 @@ public class JDialogTMLCompositePort extends JDialogBase implements ActionListen
         c1.gridwidth = GridBagConstraints.REMAINDER; //end row
         nameText = new JTextField(name);
         panel1.add(nameText, c1);
-		
-		// Type of port
-				c1.gridwidth = 1;
+
+        // Type of port
+        c1.gridwidth = 1;
         c1.fill = GridBagConstraints.HORIZONTAL;
         c1.anchor = GridBagConstraints.CENTER;
         panel1.add(new JLabel("Type:"), c1);
         c1.gridwidth = GridBagConstraints.REMAINDER; //end row
         typePort = new JComboBox<>(portTypes);
         typePort.setSelectedIndex(portIndex);
-				typePort.addActionListener(this);
+        typePort.addActionListener(this);
         panel1.add(typePort, c1);
-		
-				c1.gridwidth = 1;
+
+        c1.gridwidth = 1;
         c1.fill = GridBagConstraints.HORIZONTAL;
         c1.anchor = GridBagConstraints.CENTER;
         panel1.add(new JLabel("Origin:"), c1);
         c1.gridwidth = GridBagConstraints.REMAINDER; //end row
         origin = new JComboBox<>(origins);
-		if (isOrigin) {
-			origin.setSelectedIndex(0);
-		} else {
-			origin.setSelectedIndex(1);
-		}
-		origin.addActionListener(this);
+        if (isOrigin) {
+            origin.setSelectedIndex(0);
+        } else {
+            origin.setSelectedIndex(1);
+        }
+        origin.addActionListener(this);
         panel1.add(origin, c1);
-		
-		
-		// parameters
-		JPanel panel2 = new JPanel();
+
+
+        // parameters
+        JPanel panel2 = new JPanel();
         panel2.setLayout(gridbag2);
         panel2.setBorder(new javax.swing.border.TitledBorder("Formal Verification & Simulation Parameters "));
         panel2.setPreferredSize(new Dimension(300, 300));
-		c2.gridwidth = 1;
+        c2.gridwidth = 1;
         c2.gridheight = 1;
         c2.weighty = 1.0;
         c2.weightx = 1.0;
@@ -278,29 +279,29 @@ public class JDialogTMLCompositePort extends JDialogBase implements ActionListen
         c2.fill = GridBagConstraints.BOTH;
         c2.gridheight = 3;
         panel2.add(new JLabel(" "), c2);
-	
-		//Security Properties to check	
-		confCheckBox = new JCheckBox("Check Confidentiality");
-		panel2.add(confCheckBox, c2);
-		confCheckBox.addActionListener(this);
-		confCheckBox.setSelected(checkConf);
-		authCheckBox = new JCheckBox("Check Authenticity");
-		authCheckBox.addActionListener(this);
-		panel2.add(authCheckBox,c2);
-		authCheckBox.setSelected(checkAuth);
-
-
-		//If related to security requirement, allow reference to the requirement
-		c2.gridwidth = 1;
+
+        //Security Properties to check
+        confCheckBox = new JCheckBox("Check Confidentiality");
+        panel2.add(confCheckBox, c2);
+        confCheckBox.addActionListener(this);
+        confCheckBox.setSelected(checkConf);
+        authCheckBox = new JCheckBox("Check Authenticity");
+        authCheckBox.addActionListener(this);
+        panel2.add(authCheckBox, c2);
+        authCheckBox.setSelected(checkAuth);
+
+
+        //If related to security requirement, allow reference to the requirement
+        c2.gridwidth = 1;
         c2.fill = GridBagConstraints.HORIZONTAL;
         c2.anchor = GridBagConstraints.CENTER;
-		panel2.add(new JLabel("Reference Requirement"),c2);
-		c2.gridwidth = GridBagConstraints.REMAINDER; //end row
-		refReq = new JComboBox<>(refs);
-		panel2.add(refReq,c2);
-		if (reference!=null){
-			refReq.setSelectedItem(reference);
-		}
+        panel2.add(new JLabel("Reference Requirement"), c2);
+        c2.gridwidth = GridBagConstraints.REMAINDER; //end row
+        refReq = new JComboBox<>(refs);
+        panel2.add(refReq, c2);
+        if (reference != null) {
+            refReq.setSelectedItem(reference);
+        }
 
         c2.gridwidth = 1;
         c2.fill = GridBagConstraints.HORIZONTAL;
@@ -308,21 +309,21 @@ public class JDialogTMLCompositePort extends JDialogBase implements ActionListen
         panel2.add(new JLabel("Type #1"), c2);
         c2.gridwidth = GridBagConstraints.REMAINDER; //end row
         typeList1 = new JComboBox<>(types1);
-		//TraceManager.addDev("type1= " + type1);
-		if (type1.getType() < TType.OTHER) {
-			typeList1.setSelectedIndex(type1.getType());
-		} else {
-			for(i=TType.OTHER; i<types1.size(); i++) {
-				//TraceManager.addDev("Looking for:"  + type1.getTypeOther());
-				//TraceManager.addDev("Current type:"  +  types1.get(i));
-				if ((types1.get(i)).compareTo(type1.getTypeOther()) == 0) {
-					typeList1.setSelectedIndex(i);
-					break;
-				}
-			}
-		}
+        //TraceManager.addDev("type1= " + type1);
+        if (type1.getType() < TType.OTHER) {
+            typeList1.setSelectedIndex(type1.getType());
+        } else {
+            for (i = TType.OTHER; i < types1.size(); i++) {
+                //TraceManager.addDev("Looking for:"  + type1.getTypeOther());
+                //TraceManager.addDev("Current type:"  +  types1.get(i));
+                if ((types1.get(i)).compareTo(type1.getTypeOther()) == 0) {
+                    typeList1.setSelectedIndex(i);
+                    break;
+                }
+            }
+        }
         panel2.add(typeList1, c2);
-        
+
         c2.gridwidth = 1;
         c2.fill = GridBagConstraints.HORIZONTAL;
         c2.anchor = GridBagConstraints.CENTER;
@@ -330,19 +331,19 @@ public class JDialogTMLCompositePort extends JDialogBase implements ActionListen
         c2.gridwidth = GridBagConstraints.REMAINDER; //end row
         typeList2 = new JComboBox<>(types2);
         if (type2.getType() < TType.OTHER) {
-			typeList2.setSelectedIndex(type2.getType());
-		} else {
-			for(i=TType.OTHER; i<types2.size(); i++) {
-				//TraceManager.addDev("Looking for:"  + type1.getTypeOther());
-				//TraceManager.addDev("Current type:"  +  types1.get(i));
-				if ((types2.get(i)).compareTo(type2.getTypeOther()) == 0) {
-					typeList2.setSelectedIndex(i);
-					break;
-				}
-			}
-		}
+            typeList2.setSelectedIndex(type2.getType());
+        } else {
+            for (i = TType.OTHER; i < types2.size(); i++) {
+                //TraceManager.addDev("Looking for:"  + type1.getTypeOther());
+                //TraceManager.addDev("Current type:"  +  types1.get(i));
+                if ((types2.get(i)).compareTo(type2.getTypeOther()) == 0) {
+                    typeList2.setSelectedIndex(i);
+                    break;
+                }
+            }
+        }
         panel2.add(typeList2, c2);
-        
+
         c2.gridwidth = 1;
         c2.fill = GridBagConstraints.HORIZONTAL;
         c2.anchor = GridBagConstraints.CENTER;
@@ -350,110 +351,108 @@ public class JDialogTMLCompositePort extends JDialogBase implements ActionListen
         c2.gridwidth = GridBagConstraints.REMAINDER; //end row
         typeList3 = new JComboBox<>(types3);
         if (type3.getType() < TType.OTHER) {
-			typeList3.setSelectedIndex(type3.getType());
-		} else {
-			for(i=TType.OTHER; i<types3.size(); i++) {
-				//TraceManager.addDev("Looking for:"  + type1.getTypeOther());
-				//TraceManager.addDev("Current type:"  +  types1.get(i));
-				if ((types3.get(i)).compareTo(type3.getTypeOther()) == 0) {
-					typeList3.setSelectedIndex(i);
-					break;
-				}
-			}
-		}
+            typeList3.setSelectedIndex(type3.getType());
+        } else {
+            for (i = TType.OTHER; i < types3.size(); i++) {
+                //TraceManager.addDev("Looking for:"  + type1.getTypeOther());
+                //TraceManager.addDev("Current type:"  +  types1.get(i));
+                if ((types3.get(i)).compareTo(type3.getTypeOther()) == 0) {
+                    typeList3.setSelectedIndex(i);
+                    break;
+                }
+            }
+        }
         panel2.add(typeList3, c2);
-		
-		c2.gridwidth = 1;
+
+        c2.gridwidth = 1;
         c2.fill = GridBagConstraints.HORIZONTAL;
         c2.anchor = GridBagConstraints.CENTER;
         panel2.add(new JLabel("Type: #4"), c2);
         c2.gridwidth = GridBagConstraints.REMAINDER; //end row
         typeList4 = new JComboBox<>(types4);
         if (type4.getType() < TType.OTHER) {
-			typeList4.setSelectedIndex(type4.getType());
-		} else {
-			for(i=TType.OTHER; i<types4.size(); i++) {
-				//TraceManager.addDev("Looking for:"  + type1.getTypeOther());
-				//TraceManager.addDev("Current type:"  +  types1.get(i));
-				if ((types4.get(i)).compareTo(type4.getTypeOther()) == 0) {
-					typeList4.setSelectedIndex(i);
-					break;
-				}
-			}
-		}
+            typeList4.setSelectedIndex(type4.getType());
+        } else {
+            for (i = TType.OTHER; i < types4.size(); i++) {
+                //TraceManager.addDev("Looking for:"  + type1.getTypeOther());
+                //TraceManager.addDev("Current type:"  +  types1.get(i));
+                if ((types4.get(i)).compareTo(type4.getTypeOther()) == 0) {
+                    typeList4.setSelectedIndex(i);
+                    break;
+                }
+            }
+        }
         panel2.add(typeList4, c2);
-		
-		
-		c2.gridwidth = 1;
+
+
+        c2.gridwidth = 1;
         c2.fill = GridBagConstraints.HORIZONTAL;
         c2.anchor = GridBagConstraints.CENTER;
         panel2.add(new JLabel("Type: #5"), c2);
         c2.gridwidth = GridBagConstraints.REMAINDER; //end row
         typeList5 = new JComboBox<>(types5);
         if (type5.getType() < TType.OTHER) {
-			typeList5.setSelectedIndex(type5.getType());
-		} else {
-			for(i=TType.OTHER; i<types5.size(); i++) {
-				//TraceManager.addDev("Looking for:"  + type1.getTypeOther());
-				//TraceManager.addDev("Current type:"  +  types1.get(i));
-				if ((types5.get(i)).compareTo(type5.getTypeOther()) == 0) {
-					typeList5.setSelectedIndex(i);
-					break;
-				}
-			}
-		}
+            typeList5.setSelectedIndex(type5.getType());
+        } else {
+            for (i = TType.OTHER; i < types5.size(); i++) {
+                //TraceManager.addDev("Looking for:"  + type1.getTypeOther());
+                //TraceManager.addDev("Current type:"  +  types1.get(i));
+                if ((types5.get(i)).compareTo(type5.getTypeOther()) == 0) {
+                    typeList5.setSelectedIndex(i);
+                    break;
+                }
+            }
+        }
         panel2.add(typeList5, c2);
 
-				// Code generation
-		JPanel panel4 = new JPanel();
-        panel4.setLayout( gridbag4 );
-        panel4.setBorder( new javax.swing.border.TitledBorder("Code generation ") );
-        panel4.setPreferredSize( new Dimension(300, 300) );
-		c4.gridwidth = 1;
+        // Code generation
+        JPanel panel4 = new JPanel();
+        panel4.setLayout(gridbag4);
+        panel4.setBorder(new javax.swing.border.TitledBorder("Code generation "));
+        panel4.setPreferredSize(new Dimension(300, 300));
+        c4.gridwidth = 1;
         c4.gridheight = 1;
         c4.weighty = 1.0;
         c4.weightx = 1.0;
         c4.gridwidth = GridBagConstraints.REMAINDER; //end row
         c4.fill = GridBagConstraints.BOTH;
         c4.gridheight = 3;
-        panel4.add( new JLabel(" "), c4 );
+        panel4.add(new JLabel(" "), c4);
         c2.gridwidth = 1;
         c2.fill = GridBagConstraints.HORIZONTAL;
         c2.anchor = GridBagConstraints.CENTER;
         panel4.add(new JLabel("Dataflow type"), c2);
         c4.gridwidth = GridBagConstraints.REMAINDER; //end row
-        dfType = new JComboBox<>( dataFlowTypes );
-		if( dataFlowType.equals( "VOID" ) || dataFlowType.equals( "" ) )	{
-			dfType.setSelectedIndex( 0 );
-		}
-		else	{
-			dfType.setSelectedIndex( dataFlowTypes.indexOf( dataFlowType ) );
-		}
-		dfType.addActionListener(this);
-        panel4.add( dfType, c4);
-        
+        dfType = new JComboBox<>(dataFlowTypes);
+        if ((dataFlowType == null) || (dataFlowType.equals("VOID")) || (dataFlowType.equals(""))) {
+            dfType.setSelectedIndex(0);
+        } else {
+            dfType.setSelectedIndex(dataFlowTypes.indexOf(dataFlowType));
+        }
+        dfType.addActionListener(this);
+        panel4.add(dfType, c4);
+
         c4.gridwidth = 1;
-		if( associatedEvent.equals( "VOID" ) || associatedEvent.equals( "" ) )	{
-        	associatedEventJT = new JTextField( "", 15 );
-		}
-		else	{
-        	associatedEventJT = new JTextField( associatedEvent, 15 );
-		}
-        panel4.add( new JLabel("Associate to event"), c4 );
+        if (associatedEvent.equals("VOID") || associatedEvent.equals("")) {
+            associatedEventJT = new JTextField("", 15);
+        } else {
+            associatedEventJT = new JTextField(associatedEvent, 15);
+        }
+        panel4.add(new JLabel("Associate to event"), c4);
         c4.gridwidth = GridBagConstraints.REMAINDER; //end row
-        panel4.add( associatedEventJT, c4 );
+        panel4.add(associatedEventJT, c4);
 
         c4.gridwidth = 1;
         //c2.gridwidth = GridBagConstraints.REMAINDER; //end row
-		isPrexCB = new JCheckBox("Prex");
-		isPrexCB.setSelected( isPrex );
-        panel4.add( isPrexCB, c4 );
+        isPrexCB = new JCheckBox("Prex");
+        isPrexCB.setSelected(isPrex);
+        panel4.add(isPrexCB, c4);
 
         c4.gridwidth = 1;
         c4.gridwidth = GridBagConstraints.REMAINDER; //end row
-		isPostexCB = new JCheckBox("Postex");
-		isPostexCB.setSelected( isPostex );
-        panel4.add( isPostexCB, c4 );
+        isPostexCB = new JCheckBox("Postex");
+        isPostexCB.setSelected(isPostex);
+        panel4.add(isPostexCB, c4);
 
         c2.gridwidth = 1;
         c2.fill = GridBagConstraints.HORIZONTAL;
@@ -461,34 +460,34 @@ public class JDialogTMLCompositePort extends JDialogBase implements ActionListen
         panel2.add(new JLabel("Blocking?"), c2);
         c2.gridwidth = GridBagConstraints.REMAINDER; //end row
         blocking = new JComboBox<>(blockings);
-		if (isBlocking) {
-			blocking.setSelectedIndex(0);
-		} else {
-			blocking.setSelectedIndex(1);
-		}
-		blocking.addActionListener(this);
+        if (isBlocking) {
+            blocking.setSelectedIndex(0);
+        } else {
+            blocking.setSelectedIndex(1);
+        }
+        blocking.addActionListener(this);
         panel2.add(blocking, c2);
-		
-		c2.gridwidth = 1;
+
+        c2.gridwidth = 1;
         c2.fill = GridBagConstraints.HORIZONTAL;
         c2.anchor = GridBagConstraints.CENTER;
         panel2.add(new JLabel("Finite?"), c2);
         c2.gridwidth = GridBagConstraints.REMAINDER; //end row
         finite = new JComboBox<>(finites);
-		if (isFinite) {
-			finite.setSelectedIndex(0);
-		} else {
-			finite.setSelectedIndex(1);
-		}
-		finite.addActionListener(this);
+        if (isFinite) {
+            finite.setSelectedIndex(0);
+        } else {
+            finite.setSelectedIndex(1);
+        }
+        finite.addActionListener(this);
         panel2.add(finite, c2);
-        
-		c2.gridwidth = 1;
+
+        c2.gridwidth = 1;
         panel2.add(new JLabel("Width (in Byte)="), c2);
         c2.gridwidth = GridBagConstraints.REMAINDER; //end row
         widthText = new JTextField(widthSamples);
         panel2.add(widthText, c2);
-		
+
         c2.gridwidth = 1;
         panel2.add(new JLabel("Capacity="), c2);
         c2.gridwidth = GridBagConstraints.REMAINDER; //end row
@@ -502,13 +501,13 @@ public class JDialogTMLCompositePort extends JDialogBase implements ActionListen
         blocking.setSelected(isBlocking);
         blocking.addActionListener(this);
         panel2.add(blocking, c1);*/
-		
-		// Robustness
+
+        // Robustness
         panel3 = new JPanel();
         panel3.setLayout(gridbag3);
         panel3.setBorder(new javax.swing.border.TitledBorder("Robustness "));
         panel3.setPreferredSize(new Dimension(300, 300));
-		c3.gridwidth = 1;
+        c3.gridwidth = 1;
         c3.gridheight = 1;
         c3.weighty = 1.0;
         c3.weightx = 1.0;
@@ -516,28 +515,28 @@ public class JDialogTMLCompositePort extends JDialogBase implements ActionListen
         c3.fill = GridBagConstraints.BOTH;
         c3.gridheight = 3;
         panel3.add(new JLabel(" "), c3);
-		
-         c3.gridwidth = GridBagConstraints.REMAINDER; //end row
+
+        c3.gridwidth = GridBagConstraints.REMAINDER; //end row
         c3.fill = GridBagConstraints.HORIZONTAL;
         c3.anchor = GridBagConstraints.CENTER;
-		isLossyBox = new JCheckBox("Lossy");
-		isLossyBox.setSelected(isLossy);
+        isLossyBox = new JCheckBox("Lossy");
+        isLossyBox.setSelected(isLossy);
         panel3.add(isLossyBox, c3);
-		
-		c3.gridwidth = 1;
-		lossPercentageLabel = new JLabel("Loss percentage");
-		panel3.add(lossPercentageLabel, c3);
-		c3.gridwidth = GridBagConstraints.REMAINDER; //end row
-		lossPercentageText = new JTextField(""+lossPercentage);
-		panel3.add(lossPercentageText, c3);
-		
-		c3.gridwidth = 1;
-		maxNbOfLossLabel = new JLabel("Max nb of loss");
-		panel3.add(maxNbOfLossLabel, c3);
-		c3.gridwidth = GridBagConstraints.REMAINDER; //end row
-		maxNbOfLossText = new JTextField(""+maxNbOfLoss);
-		panel3.add(maxNbOfLossText, c3);
-      
+
+        c3.gridwidth = 1;
+        lossPercentageLabel = new JLabel("Loss percentage");
+        panel3.add(lossPercentageLabel, c3);
+        c3.gridwidth = GridBagConstraints.REMAINDER; //end row
+        lossPercentageText = new JTextField("" + lossPercentage);
+        panel3.add(lossPercentageText, c3);
+
+        c3.gridwidth = 1;
+        maxNbOfLossLabel = new JLabel("Max nb of loss");
+        panel3.add(maxNbOfLossLabel, c3);
+        c3.gridwidth = GridBagConstraints.REMAINDER; //end row
+        maxNbOfLossText = new JTextField("" + maxNbOfLoss);
+        panel3.add(maxNbOfLossText, c3);
+
 
         // main panel;
         c0.gridwidth = 1;
@@ -545,239 +544,239 @@ public class JDialogTMLCompositePort extends JDialogBase implements ActionListen
         c0.weighty = 1.0;
         c0.weightx = 1.0;
         c0.gridwidth = GridBagConstraints.REMAINDER; //end row
-		c0.fill = GridBagConstraints.BOTH;
-        
+        c0.fill = GridBagConstraints.BOTH;
+
         c.add(panel1, c0);
         c.add(panel2, c0);
-		 		c.add(panel4, c0);
-		 		c.add(panel3, c0);
+        c.add(panel4, c0);
+        c.add(panel3, c0);
+
 
-        
         c0.gridheight = 1;
         c0.fill = GridBagConstraints.HORIZONTAL;
-        
+
         initButtons(c0, c, this);
-		repaint();
+        repaint();
     }
-    
-    public void	actionPerformed(ActionEvent evt)  {
+
+    public void actionPerformed(ActionEvent evt) {
         String command = evt.getActionCommand();
-        
-		checkMode();
-		if (confCheckBox.isSelected() || authCheckBox.isSelected()){
-			refReq.setEnabled(true);
-		}
-		else {
-			refReq.setEnabled(false);
-		}
+
+        checkMode();
+        if (confCheckBox.isSelected() || authCheckBox.isSelected()) {
+            refReq.setEnabled(true);
+        } else {
+            refReq.setEnabled(false);
+        }
         /*if (evt.getSource() == finite) {
-			if (finite.getSelectedIndex() == 1) {
+            if (finite.getSelectedIndex() == 1) {
 				blocking.setSelectedIndex(1);
 			}
            checkMode();
         }*/
 
         // Compare the action command to the known actions.
-        if (command.equals("Save and Close"))  {
+        if (command.equals("Save and Close")) {
             closeDialog();
         } else if (command.equals("Cancel")) {
             cancelDialog();
         }
     }
-    
-    
+
+
     public void closeDialog() {
         data = true;
-				dataFlowType = dfType.getItemAt( dfType.getSelectedIndex() );
-				associatedEvent = associatedEventJT.getText();
-				isPrex = isPrexCB.isSelected();
-				isPostex = isPostexCB.isSelected();
-				checkConf = confCheckBox.isSelected();
-				checkAuth = authCheckBox.isSelected();
-				if( isPrex && isPostex )	{
-					JOptionPane.showMessageDialog( frame, "A channel cannot be marked as both prex and postex", "Error",
-																				 JOptionPane.INFORMATION_MESSAGE );
-					return;
-				}
+        dataFlowType = dfType.getItemAt(dfType.getSelectedIndex());
+        associatedEvent = associatedEventJT.getText();
+        isPrex = isPrexCB.isSelected();
+        isPostex = isPostexCB.isSelected();
+        checkConf = confCheckBox.isSelected();
+        checkAuth = authCheckBox.isSelected();
+        if (isPrex && isPostex) {
+            JOptionPane.showMessageDialog(frame, "A channel cannot be marked as both prex and postex", "Error",
+                    JOptionPane.INFORMATION_MESSAGE);
+            return;
+        }
         dispose();
     }
 
-	public String getDataFlowType()	{
-		return dataFlowType;
-	}
+    public String getDataFlowType() {
+        return dataFlowType;
+    }
+
+    public String getAssociatedEvent() {
+        return associatedEvent;
+    }
 
-		public String getAssociatedEvent()	{
-			return associatedEvent;
-		}
-    
     public void cancelDialog() {
         dispose();
     }
-	public TGComponent getReference(){
-		return (TGComponent) refReq.getSelectedItem();
-	}
-    
+
+    public TGComponent getReference() {
+        return (TGComponent) refReq.getSelectedItem();
+    }
+
     public void checkMode() {
-		int index = typePort.getSelectedIndex();
-		if (index == 0) {
-			// channel
-			origin.setEnabled(true);
-			typeList1.setEnabled(false);  
-			typeList2.setEnabled(false);
-			typeList3.setEnabled(false);
-			typeList4.setEnabled(false);
-			typeList5.setEnabled(false);
-			blocking.setEnabled(true);
-			finite.setEnabled(false);
-			widthText.setEnabled(true);
-			maxText.setEnabled((origin.getSelectedIndex() == 0) && (blocking.getSelectedIndex() == 0));
-			
-		} else if (index == 1) {
-			// Event
-			origin.setEnabled(true);
-			typeList1.setEnabled(true);  
-			typeList2.setEnabled(true);
-			typeList3.setEnabled(true);
-			typeList4.setEnabled(true);  
-			typeList5.setEnabled(true);
-			dfType.setEnabled(false)	;
-			associatedEventJT.setEnabled( false );
-			isPrexCB.setEnabled(false);
-			isPostexCB.setEnabled(false);
-			if (origin.getSelectedIndex() == 0) {
-				blocking.setEnabled(true);
-				finite.setEnabled(true);
-				if (blocking.getSelectedIndex() == 0) {
-					finite.setSelectedIndex(0);
-				}
-			} else {
-				blocking.setEnabled(false);
-				blocking.setSelectedIndex(0);
-				finite.setEnabled(false);
-			}
-			
-			widthText.setEnabled(false);
-			maxText.setEnabled(finite.getSelectedIndex() == 0);
-			
-		} else {
-			// Request
-			origin.setEnabled(true);
-			typeList1.setEnabled(true);  
-			typeList2.setEnabled(true);
-			typeList3.setEnabled(true);
-			typeList4.setEnabled(true);  
-			typeList5.setEnabled(true);
-			dfType.setEnabled(false)	;
-			associatedEventJT.setEnabled( false );
-			isPrexCB.setEnabled(false);
-			isPostexCB.setEnabled(false);
-			blocking.setEnabled(false);
-			if (origin.getSelectedIndex() == 0) {
-				blocking.setSelectedIndex(1);
-			} else {
-				blocking.setSelectedIndex(0);
-			}
-			finite.setEnabled(false);
-			finite.setSelectedIndex(1);
-			widthText.setEnabled(false);
-			maxText.setEnabled(false);
-			
-		}
+        int index = typePort.getSelectedIndex();
+        if (index == 0) {
+            // channel
+            origin.setEnabled(true);
+            typeList1.setEnabled(false);
+            typeList2.setEnabled(false);
+            typeList3.setEnabled(false);
+            typeList4.setEnabled(false);
+            typeList5.setEnabled(false);
+            blocking.setEnabled(true);
+            finite.setEnabled(false);
+            widthText.setEnabled(true);
+            maxText.setEnabled((origin.getSelectedIndex() == 0) && (blocking.getSelectedIndex() == 0));
+
+        } else if (index == 1) {
+            // Event
+            origin.setEnabled(true);
+            typeList1.setEnabled(true);
+            typeList2.setEnabled(true);
+            typeList3.setEnabled(true);
+            typeList4.setEnabled(true);
+            typeList5.setEnabled(true);
+            dfType.setEnabled(false);
+            associatedEventJT.setEnabled(false);
+            isPrexCB.setEnabled(false);
+            isPostexCB.setEnabled(false);
+            if (origin.getSelectedIndex() == 0) {
+                blocking.setEnabled(true);
+                finite.setEnabled(true);
+                if (blocking.getSelectedIndex() == 0) {
+                    finite.setSelectedIndex(0);
+                }
+            } else {
+                blocking.setEnabled(false);
+                blocking.setSelectedIndex(0);
+                finite.setEnabled(false);
+            }
+
+            widthText.setEnabled(false);
+            maxText.setEnabled(finite.getSelectedIndex() == 0);
+
+        } else {
+            // Request
+            origin.setEnabled(true);
+            typeList1.setEnabled(true);
+            typeList2.setEnabled(true);
+            typeList3.setEnabled(true);
+            typeList4.setEnabled(true);
+            typeList5.setEnabled(true);
+            dfType.setEnabled(false);
+            associatedEventJT.setEnabled(false);
+            isPrexCB.setEnabled(false);
+            isPostexCB.setEnabled(false);
+            blocking.setEnabled(false);
+            if (origin.getSelectedIndex() == 0) {
+                blocking.setSelectedIndex(1);
+            } else {
+                blocking.setSelectedIndex(0);
+            }
+            finite.setEnabled(false);
+            finite.setSelectedIndex(1);
+            widthText.setEnabled(false);
+            maxText.setEnabled(false);
+
+        }
            /*maxText.setEnabled(finite.isSelected());
            blocking.setEnabled(finite.isSelected());*/
-		   
-		   panel3.setEnabled(origin.getSelectedIndex() == 0);
-		   isLossyBox.setEnabled(origin.getSelectedIndex() == 0);
-		   lossPercentageText.setEnabled(origin.getSelectedIndex() == 0);
-		   maxNbOfLossText.setEnabled(origin.getSelectedIndex() == 0);
-		   lossPercentageLabel.setEnabled(origin.getSelectedIndex() == 0);
-		   maxNbOfLossLabel.setEnabled(origin.getSelectedIndex() == 0);
+
+        panel3.setEnabled(origin.getSelectedIndex() == 0);
+        isLossyBox.setEnabled(origin.getSelectedIndex() == 0);
+        lossPercentageText.setEnabled(origin.getSelectedIndex() == 0);
+        maxNbOfLossText.setEnabled(origin.getSelectedIndex() == 0);
+        lossPercentageLabel.setEnabled(origin.getSelectedIndex() == 0);
+        maxNbOfLossLabel.setEnabled(origin.getSelectedIndex() == 0);
     }
-    
+
     public boolean hasNewData() {
         return data;
     }
-    
+
     public String getParamName() {
         return nameText.getText();
     }
-    
+
     public String getMaxSamples() {
-           return maxText.getText();
+        return maxText.getText();
     }
-	
-	public String getWidthSamples() {
-           return widthText.getText();
+
+    public String getWidthSamples() {
+        return widthText.getText();
     }
-	
-	public boolean isOrigin() {
-           return (origin.getSelectedIndex() == 0);
+
+    public boolean isOrigin() {
+        return (origin.getSelectedIndex() == 0);
     }
-    
+
     public boolean isFinite() {
-           return (finite.getSelectedIndex() == 0);
+        return (finite.getSelectedIndex() == 0);
     }
-    
+
     public boolean isBlocking() {
-           return (blocking.getSelectedIndex() == 0);
+        return (blocking.getSelectedIndex() == 0);
     }
 
-		public boolean isChannelPrex()	{
-			return isPrex;
-		}
+    public boolean isChannelPrex() {
+        return isPrex;
+    }
 
-		public boolean isChannelPostex()	{
-			return isPostex;
-		}
-	
-	 public int getPortType() {
-		 return typePort.getSelectedIndex();
-	 }
+    public boolean isChannelPostex() {
+        return isPostex;
+    }
+
+    public int getPortType() {
+        return typePort.getSelectedIndex();
+    }
 
     public int getType(int i) {
-        switch(i) {
+        switch (i) {
             case 0:
                 return typeList1.getSelectedIndex();
             case 1:
                 return typeList2.getSelectedIndex();
             case 2:
                 return typeList3.getSelectedIndex();
-			case 3:
-				return typeList4.getSelectedIndex();
-			case 4:
-				return typeList5.getSelectedIndex();
-			default:
+            case 3:
+                return typeList4.getSelectedIndex();
+            case 4:
+                return typeList5.getSelectedIndex();
+            default:
                 return typeList1.getSelectedIndex();
         }
-        
+
+    }
+
+    public String getStringType(int i) {
+        int index = getType(i);
+        if (index < 3) {
+            return TType.getStringType(index);
+        }
+
+        return types.get(index - 3);
+    }
+
+    public boolean isLossy() {
+        return isLossyBox.isSelected();
+    }
+
+    public int getLossPercentage() {
+        try {
+            return Integer.decode(lossPercentageText.getText().trim());
+        } catch (Exception e) {
+            return -1;
+        }
+    }
+
+    public int getMaxNbOfLoss() {
+        try {
+            return Integer.decode(maxNbOfLossText.getText().trim());
+        } catch (Exception e) {
+            return -1;
+        }
     }
-	
-	public String getStringType(int i) {
-		int index = getType(i);
-		if (index < 3) {
-			return TType.getStringType(index);
-		}
-		
-		return types.get(index-3);
-	}
-	
-	public boolean isLossy() {
-		return isLossyBox.isSelected();
-	}
-	
-	public int getLossPercentage() {
-		try {
-			return Integer.decode(lossPercentageText.getText().trim());
-		} catch (Exception e) {
-			return -1;
-		}
-	}
-	
-	public int getMaxNbOfLoss() {
-		try {
-			return Integer.decode(maxNbOfLossText.getText().trim());
-		} catch (Exception e) {
-			return -1;
-		}
-	}
 }
diff --git a/tmltranslator/src/main/java/TMLTranslator.java b/tmltranslator/src/main/java/TMLTranslator.java
index 61b4fbb8d7307e0296e623b454eceda8f3c49e95..79be8aa3e921b611450108ab9501f7f5abd3005e 100755
--- a/tmltranslator/src/main/java/TMLTranslator.java
+++ b/tmltranslator/src/main/java/TMLTranslator.java
@@ -485,25 +485,25 @@ public class TMLTranslator  {
           System.out.println("toto=" + s);*/
 
         switch(conversionType) {
-        case 0:
-            if (tmap == null) {
-                convert = convertToLOTOS();
-            } else {
-                convert = convertToLOTOSFromMapping();
-            }
-            break;
-        case 1:
-            convert = convertToUPPAAL();
-            break;
-        case 2:
-            convert = convertToSystemC();
-            break;
-        case 3:
-            convert = convertToSystemC2();
-            break;
-        case 4:
-            convert = convertToTML();
-            break;
+            case 0:
+                if (tmap == null) {
+                    convert = convertToLOTOS();
+                } else {
+                    convert = convertToLOTOSFromMapping();
+                }
+                break;
+            case 1:
+                convert = convertToUPPAAL();
+                break;
+            case 2:
+                convert = convertToSystemC();
+                break;
+            case 3:
+                convert = convertToSystemC2();
+                break;
+            case 4:
+                convert = convertToTML();
+                break;
 	    /*case 5:
 	      convert = convertToSystemC3();*/
         }
diff --git a/ttool/src/test/java/ui/TestGTURTLEModeling.java b/ttool/src/test/java/ui/TestGTURTLEModeling.java
index 1890ed119373037cc748fdf65cc571864ab604ca..47814a365f8af99213762259dcab72d11aa8dd2d 100644
--- a/ttool/src/test/java/ui/TestGTURTLEModeling.java
+++ b/ttool/src/test/java/ui/TestGTURTLEModeling.java
@@ -18,6 +18,7 @@ import myutil.FileUtils;
 public class TestGTURTLEModeling extends AbstractUITest {
 
     //private static final String RESOURCES_DIR = "resources/ui/generateccode/";
+    private String[] codeGenOptions = { "", "-mas" };
 
     @BeforeClass
     public static void setUpBeforeClass() throws Exception {
@@ -46,28 +47,28 @@ public class TestGTURTLEModeling extends AbstractUITest {
 
         final String codeDirExpected = RESOURCES_DIR + mappingDiagName + File.separator + "expected" + File.separator;
 
-        mainGui.gtm.generateCCode( codeDir );
-
-        /*try {
-            Thread.sleep(5000);
-        } catch (Exception ignored) {
-        }*/
-
-        try {
-            final IComparisonReport difference = textComparator.compare( new File( codeDir ), new File( codeDirExpected ) );
-
-            if ( difference.containsDiff() ) {
-                difference.print();
-
-                fail( "Generated code files are not the same!!!" );
+        for( String compilerOption: codeGenOptions )    {
+            mainGui.gtm.generateCCode( codeDir, compilerOption );
+            /*try {
+                Thread.sleep(5000);
+            } catch (Exception ignored) {
+            }*/
+            try {
+                final IComparisonReport difference = textComparator.compare( new File( codeDir ), new File( codeDirExpected ) );
+
+                if ( difference.containsDiff() ) {
+                    difference.print();
+    
+                    fail( "Generated code files are not the same!!!" );
+                }
+                else {
+                    FileUtils.deleteFiles( codeDir );
+                }
             }
-            else {
-                FileUtils.deleteFiles( codeDir );
+            catch ( final IOException ex ) {
+                handleException( ex );
             }
         }
-        catch ( final IOException ex ) {
-            handleException( ex );
-        }
     }
 
     private TMLArchiPanel findPanel( final String name ) {