From cc2f9c74373f147e82863983a48e6d9d9b25df1d Mon Sep 17 00:00:00 2001
From: Ludovic Apvrille <ludovic.apvrille@telecom-paristech.fr>
Date: Tue, 29 Mar 2016 07:45:41 +0000
Subject: [PATCH] Update on db

---
 Makefile                              |   4 +-
 modeling/SysMLSec/at_chuli.xml        | 472 ++++++++++-----------
 src/myutil/GoogleSearch.java          | 580 +++++++++++++-------------
 src/myutil/externalSearch/Client.java | 141 ++++---
 src/ui/window/JDialogSearchBox.java   |  38 +-
 src/web/crawler/FileManagement.java   |   3 +-
 src/web/crawler/ThreadSocket.java     |   2 +
 src/web/crawler/WebCrawler.java       |   4 +-
 8 files changed, 636 insertions(+), 608 deletions(-)

diff --git a/Makefile b/Makefile
index db7bf4a559..a9223a435a 100755
--- a/Makefile
+++ b/Makefile
@@ -190,9 +190,9 @@ remotesimulator:
 
 webcrawler:
 	rm -f $(TTOOL_BIN)/$(WEBCRAWLER_SERVER_BINARY)
-	cd $(TTOOL_SRC);$(JAR) cmf $(WEBCRAWLER_SERVER_JAR_TXT) $(TTOOL_BIN)/$(WEBCRAWLER_SERVER_BINARY)  web/crawler/*.class myutil/*.class
+	cd $(TTOOL_SRC);$(JAR) cmf $(WEBCRAWLER_SERVER_JAR_TXT) $(TTOOL_BIN)/$(WEBCRAWLER_SERVER_BINARY)  web/crawler/*.class myutil/*.class myutil/*/*.class
 	rm -f $(TTOOL_BIN)/$(WEBCRAWLER_CLIENT_BINARY)
-	cd $(TTOOL_SRC);$(JAR) cmf $(WEBCRAWLER_CLIENT_JAR_TXT) $(TTOOL_BIN)/$(WEBCRAWLER_CLIENT_BINARY)  web/crawler/*.class myutil/*.class
+	cd $(TTOOL_SRC);$(JAR) cmf $(WEBCRAWLER_CLIENT_JAR_TXT) $(TTOOL_BIN)/$(WEBCRAWLER_CLIENT_BINARY)  web/crawler/*.class myutil/*.class myutil/*/*.class
 
 documentation:
 	$(JAVADOC) $(CLASSPATH) $(TTOOL_SRC) -d $(TTOOL_DOC_HTML) $(TTOOL_SRC)/*.java $(TTOOL_SRC)/*/*.java $(TTOOL_SRC)/*/*/*.java $(TTOOL_SRC)/fr/inria/oasis/vercors/cttool/model/*.java
diff --git a/modeling/SysMLSec/at_chuli.xml b/modeling/SysMLSec/at_chuli.xml
index 0eed893de3..6f12492116 100644
--- a/modeling/SysMLSec/at_chuli.xml
+++ b/modeling/SysMLSec/at_chuli.xml
@@ -1,9 +1,9 @@
 <?xml version="1.0" encoding="ISO-8859-1"?>
 
-<TURTLEGMODELING version="0.98-beta3">
+<TURTLEGMODELING version="0.98-beta4">
 
 <Modeling type="AttackTree" nameTab="Chuly" >
-<AttackTreeDiagramPanel name="Attack Tree" minX="10" maxX="1900" minY="10" maxY="1900" zoom="1.2500000000000004" >
+<AttackTreeDiagramPanel name="Attack Tree" minX="12" maxX="2376" minY="12" maxY="2376" zoom="1.2500000000000004" >
 <CONNECTOR type="133" id="6" >
 <cdparam x="595" y="794" />
 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
@@ -11,8 +11,8 @@
 <TGConnectingPoint num="0" id="3" />
 <TGConnectingPoint num="1" id="4" />
 <TGConnectingPoint num="2" id="5" />
-<P1  x="595" y="794" id="264" />
-<P2  x="1015" y="891" id="351" />
+<P1  x="595" y="794" id="511" />
+<P2  x="1015" y="891" id="416" />
 <Point x="743" y="830" />
 <Point x="1015" y="830" />
 <AutomaticDrawing  data="true" />
@@ -38,8 +38,8 @@
 <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="7" />
-<P1  x="559" y="1077" id="530" />
-<P2  x="603" y="1077" id="295" />
+<P1  x="559" y="1077" id="231" />
+<P2  x="603" y="1077" id="464" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="133" id="10" >
@@ -47,8 +47,8 @@
 <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="9" />
-<P1  x="510" y="806" id="258" />
-<P2  x="465" y="1046" id="528" />
+<P1  x="510" y="806" id="505" />
+<P2  x="465" y="1046" id="229" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="133" id="12" >
@@ -56,8 +56,8 @@
 <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="11" />
-<P1  x="465" y="1149" id="515" />
-<P2  x="465" y="1108" id="531" />
+<P1  x="465" y="1149" id="242" />
+<P2  x="465" y="1108" id="232" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="133" id="14" >
@@ -65,8 +65,8 @@
 <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="13" />
-<P1  x="552" y="806" id="266" />
-<P2  x="576" y="898" id="285" />
+<P1  x="552" y="806" id="513" />
+<P2  x="576" y="898" id="480" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="133" id="22" >
@@ -77,8 +77,8 @@
 <TGConnectingPoint num="1" id="19" />
 <TGConnectingPoint num="2" id="20" />
 <TGConnectingPoint num="3" id="21" />
-<P1  x="468" y="806" id="265" />
-<P2  x="645" y="1636" id="388" />
+<P1  x="468" y="806" id="512" />
+<P2  x="645" y="1636" id="375" />
 <Point x="215" y="1275" />
 <Point x="217" y="1654" />
 <Point x="645" y="1654" />
@@ -115,8 +115,8 @@
 <TGConnectingPoint num="0" id="25" />
 <TGConnectingPoint num="1" id="26" />
 <TGConnectingPoint num="2" id="27" />
-<P1  x="536" y="1598" id="391" />
-<P2  x="316" y="1423" id="479" />
+<P1  x="536" y="1598" id="378" />
+<P2  x="316" y="1423" id="284" />
 <Point x="483" y="1497" />
 <Point x="319" y="1497" />
 <AutomaticDrawing  data="true" />
@@ -142,8 +142,8 @@
 <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="29" />
-<P1  x="536" y="1611" id="386" />
-<P2  x="356" y="1560" id="492" />
+<P1  x="536" y="1611" id="373" />
+<P2  x="356" y="1560" id="271" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="133" id="34" >
@@ -152,8 +152,8 @@
 <infoparam name="connector" value="" />
 <TGConnectingPoint num="0" id="32" />
 <TGConnectingPoint num="1" id="33" />
-<P1  x="536" y="1623" id="393" />
-<P2  x="236" y="1328" id="419" />
+<P1  x="536" y="1623" id="380" />
+<P2  x="236" y="1328" id="354" />
 <Point x="236" y="1629" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR><SUBCOMPONENT type="-1" id="31" >
@@ -171,8 +171,8 @@
 <infoparam name="connector" value="" />
 <TGConnectingPoint num="0" id="36" />
 <TGConnectingPoint num="1" id="37" />
-<P1  x="925" y="1525" id="507" />
-<P2  x="737" y="1279" id="407" />
+<P1  x="925" y="1525" id="260" />
+<P2  x="737" y="1279" id="368" />
 <Point x="925" y="1390" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR><SUBCOMPONENT type="-1" id="35" >
@@ -190,8 +190,8 @@
 <infoparam name="connector" value="" />
 <TGConnectingPoint num="0" id="40" />
 <TGConnectingPoint num="1" id="41" />
-<P1  x="754" y="1623" id="394" />
-<P2  x="1081" y="1465" id="474" />
+<P1  x="754" y="1623" id="381" />
+<P2  x="1081" y="1465" id="305" />
 <Point x="1064" y="1629" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR><SUBCOMPONENT type="-1" id="39" >
@@ -208,8 +208,8 @@
 <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="43" />
-<P1  x="699" y="1586" id="390" />
-<P2  x="784" y="1463" id="460" />
+<P1  x="699" y="1586" id="377" />
+<P2  x="784" y="1463" id="317" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="133" id="46" >
@@ -217,8 +217,8 @@
 <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="45" />
-<P1  x="590" y="1586" id="389" />
-<P2  x="523" y="1460" id="435" />
+<P1  x="590" y="1586" id="376" />
+<P2  x="523" y="1460" id="344" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="133" id="48" >
@@ -226,8 +226,8 @@
 <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="47" />
-<P1  x="645" y="1586" id="385" />
-<P2  x="645" y="1462" id="440" />
+<P1  x="645" y="1586" id="372" />
+<P2  x="645" y="1462" id="323" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="133" id="50" >
@@ -235,8 +235,8 @@
 <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="49" />
-<P1  x="643" y="1233" id="398" />
-<P2  x="643" y="1211" id="232" />
+<P1  x="643" y="1233" id="359" />
+<P2  x="643" y="1211" id="531" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="133" id="54" >
@@ -245,8 +245,8 @@
 <infoparam name="connector" value="" />
 <TGConnectingPoint num="0" id="52" />
 <TGConnectingPoint num="1" id="53" />
-<P1  x="356" y="1510" id="489" />
-<P2  x="550" y="1279" id="406" />
+<P1  x="356" y="1510" id="268" />
+<P2  x="550" y="1279" id="367" />
 <Point x="416" y="1398" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR><SUBCOMPONENT type="-1" id="51" >
@@ -263,8 +263,8 @@
 <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="55" />
-<P1  x="379" y="1385" id="483" />
-<P2  x="550" y="1264" id="399" />
+<P1  x="379" y="1385" id="288" />
+<P2  x="550" y="1264" id="360" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="133" id="58" >
@@ -272,8 +272,8 @@
 <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="57" />
-<P1  x="1034" y="1415" id="463" />
-<P2  x="737" y="1248" id="405" />
+<P1  x="1034" y="1415" id="294" />
+<P2  x="737" y="1248" id="366" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="133" id="60" >
@@ -281,8 +281,8 @@
 <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="59" />
-<P1  x="825" y="1413" id="450" />
-<P2  x="690" y="1295" id="409" />
+<P1  x="825" y="1413" id="307" />
+<P2  x="690" y="1295" id="370" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="133" id="62" >
@@ -290,8 +290,8 @@
 <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="61" />
-<P1  x="645" y="1412" id="437" />
-<P2  x="643" y="1295" id="401" />
+<P1  x="645" y="1412" id="320" />
+<P2  x="643" y="1295" id="362" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="133" id="64" >
@@ -299,8 +299,8 @@
 <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="63" />
-<P1  x="490" y="1410" id="424" />
-<P2  x="596" y="1295" id="408" />
+<P1  x="490" y="1410" id="333" />
+<P2  x="596" y="1295" id="369" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="133" id="66" >
@@ -308,8 +308,8 @@
 <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="65" />
-<P1  x="310" y="1291" id="411" />
-<P2  x="550" y="1248" id="404" />
+<P1  x="310" y="1291" id="346" />
+<P2  x="550" y="1248" id="365" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="133" id="68" >
@@ -317,8 +317,8 @@
 <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="67" />
-<P1  x="864" y="793" id="372" />
-<P2  x="873" y="772" id="362" />
+<P1  x="864" y="793" id="385" />
+<P2  x="873" y="772" id="401" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="133" id="70" >
@@ -326,8 +326,8 @@
 <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="69" />
-<P1  x="976" y="891" id="346" />
-<P2  x="911" y="855" id="383" />
+<P1  x="976" y="891" id="411" />
+<P2  x="911" y="855" id="396" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="133" id="72" >
@@ -335,8 +335,8 @@
 <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="71" />
-<P1  x="776" y="885" id="333" />
-<P2  x="817" y="855" id="382" />
+<P1  x="776" y="885" id="424" />
+<P2  x="817" y="855" id="395" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="133" id="74" >
@@ -344,7 +344,7 @@
 <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="73" />
-<P1  x="873" y="722" id="359" />
+<P1  x="873" y="722" id="398" />
 <P2  x="881" y="690" id="577" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
@@ -353,8 +353,8 @@
 <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="75" />
-<P1  x="776" y="969" id="320" />
-<P2  x="776" y="935" id="336" />
+<P1  x="776" y="969" id="437" />
+<P2  x="776" y="935" id="427" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="133" id="78" >
@@ -362,8 +362,8 @@
 <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="77" />
-<P1  x="920" y="1053" id="307" />
-<P2  x="823" y="1031" id="331" />
+<P1  x="920" y="1053" id="450" />
+<P2  x="823" y="1031" id="448" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="133" id="80" >
@@ -371,8 +371,8 @@
 <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="79" />
-<P1  x="665" y="1052" id="294" />
-<P2  x="729" y="1031" id="330" />
+<P1  x="665" y="1052" id="463" />
+<P2  x="729" y="1031" id="447" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="133" id="82" >
@@ -381,7 +381,7 @@
 <infoparam name="connector" value="" />
 <TGConnectingPoint num="0" id="81" />
 <P1  x="787" y="628" id="570" />
-<P2  x="776" y="521" id="156" />
+<P2  x="776" y="521" id="117" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="133" id="84" >
@@ -389,8 +389,8 @@
 <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="83" />
-<P1  x="510" y="758" id="255" />
-<P2  x="573" y="413" id="143" />
+<P1  x="510" y="758" id="502" />
+<P2  x="573" y="413" id="130" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="133" id="86" >
@@ -398,8 +398,8 @@
 <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="85" />
-<P1  x="381" y="782" id="244" />
-<P2  x="426" y="782" id="256" />
+<P1  x="381" y="782" id="517" />
+<P2  x="426" y="782" id="503" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="133" id="88" >
@@ -407,8 +407,8 @@
 <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="87" />
-<P1  x="303" y="845" id="268" />
-<P2  x="303" y="806" id="245" />
+<P1  x="303" y="845" id="489" />
+<P2  x="303" y="806" id="518" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="133" id="90" >
@@ -416,8 +416,8 @@
 <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="89" />
-<P1  x="440" y="547" id="117" />
-<P2  x="264" y="758" id="246" />
+<P1  x="440" y="547" id="156" />
+<P2  x="264" y="758" id="519" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="133" id="92" >
@@ -425,8 +425,8 @@
 <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="91" />
-<P1  x="444" y="475" id="104" />
-<P2  x="440" y="497" id="114" />
+<P1  x="444" y="475" id="169" />
+<P2  x="440" y="497" id="153" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="133" id="94" >
@@ -434,8 +434,8 @@
 <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="93" />
-<P1  x="466" y="389" id="129" />
-<P2  x="495" y="389" id="141" />
+<P1  x="466" y="389" id="142" />
+<P2  x="495" y="389" id="128" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="133" id="96" >
@@ -443,8 +443,8 @@
 <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="3" />
 <TGConnectingPoint num="0" id="95" />
-<P1  x="776" y="473" id="153" />
-<P2  x="612" y="413" id="151" />
+<P1  x="776" y="473" id="114" />
+<P2  x="612" y="413" id="138" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="133" id="98" >
@@ -452,8 +452,8 @@
 <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="" />
 <TGConnectingPoint num="0" id="97" />
-<P1  x="573" y="365" id="140" />
-<P2  x="564" y="348" id="169" />
+<P1  x="573" y="365" id="127" />
+<P2  x="564" y="348" id="104" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
 <CONNECTOR type="133" id="100" >
@@ -461,7 +461,7 @@
 <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="1" />
 <TGConnectingPoint num="0" id="99" />
-<P1  x="638" y="898" id="286" />
+<P1  x="638" y="898" id="481" />
 <P2  x="787" y="690" id="576" />
 <AutomaticDrawing  data="true" />
 </CONNECTOR>
@@ -469,7 +469,7 @@
 <cdparam x="333" y="256" />
 <sizeparam width="543" height="295" minWidth="5" minHeight="2" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="10" maxX="1900" minY="10" maxY="1900" />
+<cdrectangleparam minX="12" maxX="2376" minY="12" maxY="2376" />
 <infoparam name="Block5" value="AttackerPC" />
 <TGConnectingPoint num="0" id="179" />
 <TGConnectingPoint num="1" id="180" />
@@ -498,12 +498,12 @@
 </COMPONENT>
 <SUBCOMPONENT type="1401" id="113" >
 <father id="203" num="0" />
-<cdparam x="382" y="427" />
-<sizeparam width="125" height="48" minWidth="100" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="458" y="300" />
+<sizeparam width="213" height="48" minWidth="100" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <enabled value="true" />
-<cdrectangleparam minX="0" maxX="418" minY="0" maxY="247" />
-<infoparam name="TGComponent" value="InfectMobilePhone" />
+<cdrectangleparam minX="0" maxX="330" minY="0" maxY="247" />
+<infoparam name="TGComponent" value="GatherInformationOnMobilePhone" />
 <TGConnectingPoint num="0" id="101" />
 <TGConnectingPoint num="1" id="102" />
 <TGConnectingPoint num="2" id="103" />
@@ -516,18 +516,19 @@
 <TGConnectingPoint num="9" id="110" />
 <TGConnectingPoint num="10" id="111" />
 <TGConnectingPoint num="11" id="112" />
+<accessibility />
 <extraparam>
-<info description="blah blah blah" root="false" />
+<info description="blah blah blah" root="true" />
 </extraparam>
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1401" id="126" >
 <father id="203" num="1" />
-<cdparam x="338" y="497" />
-<sizeparam width="204" height="50" minWidth="100" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="690" y="473" />
+<sizeparam width="173" height="48" minWidth="100" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<enabled value="true" />
-<cdrectangleparam minX="0" maxX="339" minY="0" maxY="245" />
-<infoparam name="TGComponent" value="SendSpamWithMaliciousPackage" />
+<enabled value="false" />
+<cdrectangleparam minX="0" maxX="370" minY="0" maxY="247" />
+<infoparam name="TGComponent" value="ReceiveRemoteInformation" />
 <TGConnectingPoint num="0" id="114" />
 <TGConnectingPoint num="1" id="115" />
 <TGConnectingPoint num="2" id="116" />
@@ -544,14 +545,13 @@
 <info description="blah blah blah" root="false" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1401" id="139" >
+<SUBCOMPONENT type="1402" id="139" >
 <father id="203" num="2" />
-<cdparam x="341" y="364" />
-<sizeparam width="125" height="50" minWidth="100" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="495" y="365" />
+<sizeparam width="156" height="48" minWidth="100" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<enabled value="true" />
-<cdrectangleparam minX="0" maxX="418" minY="0" maxY="245" />
-<infoparam name="TGComponent" value="StartWebServer" />
+<cdrectangleparam minX="0" maxX="308" minY="0" maxY="328" />
+<infoparam name="TGComponent" value="&lt;&lt;SEQUENCE&gt;&gt;" />
 <TGConnectingPoint num="0" id="127" />
 <TGConnectingPoint num="1" id="128" />
 <TGConnectingPoint num="2" id="129" />
@@ -565,16 +565,17 @@
 <TGConnectingPoint num="10" id="137" />
 <TGConnectingPoint num="11" id="138" />
 <extraparam>
-<info description="blah blah blah" root="false" />
+<info equation="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1402" id="152" >
+<SUBCOMPONENT type="1401" id="152" >
 <father id="203" num="3" />
-<cdparam x="495" y="365" />
-<sizeparam width="156" height="48" minWidth="100" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="341" y="364" />
+<sizeparam width="125" height="50" minWidth="100" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="308" minY="0" maxY="328" />
-<infoparam name="TGComponent" value="&lt;&lt;SEQUENCE&gt;&gt;" />
+<enabled value="true" />
+<cdrectangleparam minX="0" maxX="418" minY="0" maxY="245" />
+<infoparam name="TGComponent" value="StartWebServer" />
 <TGConnectingPoint num="0" id="140" />
 <TGConnectingPoint num="1" id="141" />
 <TGConnectingPoint num="2" id="142" />
@@ -588,17 +589,17 @@
 <TGConnectingPoint num="10" id="150" />
 <TGConnectingPoint num="11" id="151" />
 <extraparam>
-<info equation="" />
+<info description="blah blah blah" root="false" />
 </extraparam>
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1401" id="165" >
 <father id="203" num="4" />
-<cdparam x="690" y="473" />
-<sizeparam width="173" height="48" minWidth="100" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="338" y="497" />
+<sizeparam width="204" height="50" minWidth="100" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<enabled value="false" />
-<cdrectangleparam minX="0" maxX="370" minY="0" maxY="247" />
-<infoparam name="TGComponent" value="ReceiveRemoteInformation" />
+<enabled value="true" />
+<cdrectangleparam minX="0" maxX="339" minY="0" maxY="245" />
+<infoparam name="TGComponent" value="SendSpamWithMaliciousPackage" />
 <TGConnectingPoint num="0" id="153" />
 <TGConnectingPoint num="1" id="154" />
 <TGConnectingPoint num="2" id="155" />
@@ -617,12 +618,12 @@
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1401" id="178" >
 <father id="203" num="5" />
-<cdparam x="458" y="300" />
-<sizeparam width="213" height="48" minWidth="100" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="382" y="427" />
+<sizeparam width="125" height="48" minWidth="100" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <enabled value="true" />
-<cdrectangleparam minX="0" maxX="330" minY="0" maxY="247" />
-<infoparam name="TGComponent" value="GatherInformationOnMobilePhone" />
+<cdrectangleparam minX="0" maxX="418" minY="0" maxY="247" />
+<infoparam name="TGComponent" value="InfectMobilePhone" />
 <TGConnectingPoint num="0" id="166" />
 <TGConnectingPoint num="1" id="167" />
 <TGConnectingPoint num="2" id="168" />
@@ -635,9 +636,8 @@
 <TGConnectingPoint num="9" id="175" />
 <TGConnectingPoint num="10" id="176" />
 <TGConnectingPoint num="11" id="177" />
-<accessibility />
 <extraparam>
-<info description="blah blah blah" root="true" />
+<info description="blah blah blah" root="false" />
 </extraparam>
 </SUBCOMPONENT>
 
@@ -645,7 +645,7 @@
 <cdparam x="219" y="222" />
 <sizeparam width="855" height="340" minWidth="5" minHeight="2" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="10" maxX="1900" minY="10" maxY="1900" />
+<cdrectangleparam minX="12" maxX="2376" minY="12" maxY="2376" />
 <infoparam name="Block8" value="AttackerSystem" />
 <TGConnectingPoint num="0" id="204" />
 <TGConnectingPoint num="1" id="205" />
@@ -677,7 +677,7 @@
 <cdparam x="197" y="703" />
 <sizeparam width="1006" height="989" minWidth="5" minHeight="2" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="10" maxX="1900" minY="10" maxY="1900" />
+<cdrectangleparam minX="12" maxX="2376" minY="12" maxY="2376" />
 <infoparam name="Block2" value="UserMobilePhone_Android" />
 <TGConnectingPoint num="0" id="541" />
 <TGConnectingPoint num="1" id="542" />
@@ -704,14 +704,13 @@
 <TGConnectingPoint num="22" id="563" />
 <TGConnectingPoint num="23" id="564" />
 </COMPONENT>
-<SUBCOMPONENT type="1401" id="241" >
+<SUBCOMPONENT type="1402" id="241" >
 <father id="565" num="0" />
-<cdparam x="555" y="1161" />
-<sizeparam width="177" height="50" minWidth="100" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="372" y="1046" />
+<sizeparam width="187" height="62" minWidth="100" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<enabled value="true" />
-<cdrectangleparam minX="0" maxX="829" minY="0" maxY="939" />
-<infoparam name="TGComponent" value="RestartMaliciousApplication" />
+<cdrectangleparam minX="0" maxX="819" minY="0" maxY="1043" />
+<infoparam name="TGComponent" value="&lt;&lt;SEQUENCE&gt;&gt;" />
 <TGConnectingPoint num="0" id="229" />
 <TGConnectingPoint num="1" id="230" />
 <TGConnectingPoint num="2" id="231" />
@@ -725,16 +724,17 @@
 <TGConnectingPoint num="10" id="239" />
 <TGConnectingPoint num="11" id="240" />
 <extraparam>
-<info description="blah blah blah" root="true" />
+<info equation="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1402" id="254" >
+<SUBCOMPONENT type="1401" id="254" >
 <father id="565" num="1" />
-<cdparam x="225" y="758" />
-<sizeparam width="156" height="48" minWidth="100" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="403" y="1149" />
+<sizeparam width="125" height="50" minWidth="100" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="125" minY="0" maxY="368" />
-<infoparam name="TGComponent" value="&lt;&lt;SEQUENCE&gt;&gt;" />
+<enabled value="true" />
+<cdrectangleparam minX="0" maxX="881" minY="0" maxY="939" />
+<infoparam name="TGComponent" value="MonitorIntent" />
 <TGConnectingPoint num="0" id="242" />
 <TGConnectingPoint num="1" id="243" />
 <TGConnectingPoint num="2" id="244" />
@@ -748,17 +748,17 @@
 <TGConnectingPoint num="10" id="252" />
 <TGConnectingPoint num="11" id="253" />
 <extraparam>
-<info equation="" />
+<info description="blah blah blah" root="false" />
 </extraparam>
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1401" id="267" >
 <father id="565" num="2" />
-<cdparam x="426" y="758" />
-<sizeparam width="169" height="48" minWidth="100" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="775" y="1525" />
+<sizeparam width="201" height="50" minWidth="100" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <enabled value="true" />
-<cdrectangleparam minX="0" maxX="837" minY="0" maxY="941" />
-<infoparam name="TGComponent" value="InstallMaliciousApplication" />
+<cdrectangleparam minX="0" maxX="805" minY="0" maxY="939" />
+<infoparam name="TGComponent" value="MonitorFailureInDataConnection" />
 <TGConnectingPoint num="0" id="255" />
 <TGConnectingPoint num="1" id="256" />
 <TGConnectingPoint num="2" id="257" />
@@ -777,12 +777,12 @@
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1401" id="280" >
 <father id="565" num="3" />
-<cdparam x="200" y="845" />
-<sizeparam width="207" height="48" minWidth="100" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="248" y="1510" />
+<sizeparam width="217" height="50" minWidth="100" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <enabled value="true" />
-<cdrectangleparam minX="0" maxX="799" minY="0" maxY="941" />
-<infoparam name="TGComponent" value="OpenSpamWithMaliciousPackage" />
+<cdrectangleparam minX="0" maxX="789" minY="0" maxY="939" />
+<infoparam name="TGComponent" value="MonitorNetworkConnectionChange" />
 <TGConnectingPoint num="0" id="268" />
 <TGConnectingPoint num="1" id="269" />
 <TGConnectingPoint num="2" id="270" />
@@ -801,12 +801,12 @@
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1401" id="293" >
 <father id="565" num="4" />
-<cdparam x="545" y="898" />
-<sizeparam width="125" height="48" minWidth="100" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="254" y="1373" />
+<sizeparam width="125" height="50" minWidth="100" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <enabled value="true" />
-<cdrectangleparam minX="0" maxX="881" minY="0" maxY="941" />
-<infoparam name="TGComponent" value="RegisterThePhone" />
+<cdrectangleparam minX="0" maxX="881" minY="0" maxY="939" />
+<infoparam name="TGComponent" value="MonitorScreenOn" />
 <TGConnectingPoint num="0" id="281" />
 <TGConnectingPoint num="1" id="282" />
 <TGConnectingPoint num="2" id="283" />
@@ -825,12 +825,12 @@
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1401" id="306" >
 <father id="565" num="5" />
-<cdparam x="603" y="1052" />
-<sizeparam width="125" height="50" minWidth="100" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="940" y="1415" />
+<sizeparam width="188" height="50" minWidth="100" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <enabled value="true" />
-<cdrectangleparam minX="0" maxX="881" minY="0" maxY="939" />
-<infoparam name="TGComponent" value="GatherIntent" />
+<cdrectangleparam minX="0" maxX="818" minY="0" maxY="939" />
+<infoparam name="TGComponent" value="MonitorApplicationInstallation" />
 <TGConnectingPoint num="0" id="294" />
 <TGConnectingPoint num="1" id="295" />
 <TGConnectingPoint num="2" id="296" />
@@ -849,12 +849,12 @@
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1401" id="319" >
 <father id="565" num="6" />
-<cdparam x="858" y="1053" />
-<sizeparam width="125" height="50" minWidth="100" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="744" y="1413" />
+<sizeparam width="163" height="50" minWidth="100" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <enabled value="true" />
-<cdrectangleparam minX="0" maxX="881" minY="0" maxY="939" />
-<infoparam name="TGComponent" value="BroadcastIntent" />
+<cdrectangleparam minX="0" maxX="843" minY="0" maxY="939" />
+<infoparam name="TGComponent" value="MonitorWallPaperChange" />
 <TGConnectingPoint num="0" id="307" />
 <TGConnectingPoint num="1" id="308" />
 <TGConnectingPoint num="2" id="309" />
@@ -871,13 +871,14 @@
 <info description="blah blah blah" root="false" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1402" id="332" >
+<SUBCOMPONENT type="1401" id="332" >
 <father id="565" num="7" />
-<cdparam x="683" y="969" />
-<sizeparam width="187" height="62" minWidth="100" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="578" y="1412" />
+<sizeparam width="135" height="50" minWidth="100" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="687" minY="0" maxY="355" />
-<infoparam name="TGComponent" value="&lt;&lt;AFTER&gt;&gt;" />
+<enabled value="true" />
+<cdrectangleparam minX="0" maxX="871" minY="0" maxY="939" />
+<infoparam name="TGComponent" value="MonitorTimeChange" />
 <TGConnectingPoint num="0" id="320" />
 <TGConnectingPoint num="1" id="321" />
 <TGConnectingPoint num="2" id="322" />
@@ -891,17 +892,17 @@
 <TGConnectingPoint num="10" id="330" />
 <TGConnectingPoint num="11" id="331" />
 <extraparam>
-<info equation="1" />
+<info description="blah blah blah" root="false" />
 </extraparam>
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1401" id="345" >
 <father id="565" num="8" />
-<cdparam x="714" y="885" />
-<sizeparam width="125" height="50" minWidth="100" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="424" y="1410" />
+<sizeparam width="132" height="50" minWidth="100" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <enabled value="true" />
-<cdrectangleparam minX="0" maxX="881" minY="0" maxY="939" />
-<infoparam name="TGComponent" value="ManageIntent" />
+<cdrectangleparam minX="0" maxX="874" minY="0" maxY="939" />
+<infoparam name="TGComponent" value="MonitorBatteryLevel" />
 <TGConnectingPoint num="0" id="333" />
 <TGConnectingPoint num="1" id="334" />
 <TGConnectingPoint num="2" id="335" />
@@ -920,12 +921,12 @@
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1401" id="358" >
 <father id="565" num="9" />
-<cdparam x="898" y="891" />
-<sizeparam width="157" height="50" minWidth="100" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="236" y="1291" />
+<sizeparam width="148" height="50" minWidth="100" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <enabled value="true" />
-<cdrectangleparam minX="0" maxX="849" minY="0" maxY="939" />
-<infoparam name="TGComponent" value="SpiesIncomingMessages" />
+<cdrectangleparam minX="0" maxX="858" minY="0" maxY="939" />
+<infoparam name="TGComponent" value="MonitorDeviceWakeUp" />
 <TGConnectingPoint num="0" id="346" />
 <TGConnectingPoint num="1" id="347" />
 <TGConnectingPoint num="2" id="348" />
@@ -942,14 +943,13 @@
 <info description="blah blah blah" root="false" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1401" id="371" >
+<SUBCOMPONENT type="1402" id="371" >
 <father id="565" num="10" />
-<cdparam x="797" y="722" />
-<sizeparam width="152" height="50" minWidth="100" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="550" y="1233" />
+<sizeparam width="187" height="62" minWidth="100" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<enabled value="true" />
-<cdrectangleparam minX="0" maxX="854" minY="0" maxY="939" />
-<infoparam name="TGComponent" value="SendPrivateInformation" />
+<cdrectangleparam minX="0" maxX="819" minY="0" maxY="530" />
+<infoparam name="TGComponent" value="&lt;&lt;OR&gt;&gt;" />
 <TGConnectingPoint num="0" id="359" />
 <TGConnectingPoint num="1" id="360" />
 <TGConnectingPoint num="2" id="361" />
@@ -963,16 +963,17 @@
 <TGConnectingPoint num="10" id="369" />
 <TGConnectingPoint num="11" id="370" />
 <extraparam>
-<info description="blah blah blah" root="false" />
+<info equation="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1402" id="384" >
+<SUBCOMPONENT type="1401" id="384" >
 <father id="565" num="11" />
-<cdparam x="771" y="793" />
-<sizeparam width="187" height="62" minWidth="100" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="536" y="1586" />
+<sizeparam width="218" height="50" minWidth="100" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="819" minY="0" maxY="355" />
-<infoparam name="TGComponent" value="&lt;&lt;OR&gt;&gt;" />
+<enabled value="true" />
+<cdrectangleparam minX="0" maxX="788" minY="0" maxY="939" />
+<infoparam name="TGComponent" value="MonitorMaliciousPackageIsRunning" />
 <TGConnectingPoint num="0" id="372" />
 <TGConnectingPoint num="1" id="373" />
 <TGConnectingPoint num="2" id="374" />
@@ -986,17 +987,16 @@
 <TGConnectingPoint num="10" id="382" />
 <TGConnectingPoint num="11" id="383" />
 <extraparam>
-<info equation="" />
+<info description="blah blah blah" root="false" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1401" id="397" >
+<SUBCOMPONENT type="1402" id="397" >
 <father id="565" num="12" />
-<cdparam x="536" y="1586" />
-<sizeparam width="218" height="50" minWidth="100" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="771" y="793" />
+<sizeparam width="187" height="62" minWidth="100" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<enabled value="true" />
-<cdrectangleparam minX="0" maxX="788" minY="0" maxY="939" />
-<infoparam name="TGComponent" value="MonitorMaliciousPackageIsRunning" />
+<cdrectangleparam minX="0" maxX="819" minY="0" maxY="355" />
+<infoparam name="TGComponent" value="&lt;&lt;OR&gt;&gt;" />
 <TGConnectingPoint num="0" id="385" />
 <TGConnectingPoint num="1" id="386" />
 <TGConnectingPoint num="2" id="387" />
@@ -1010,16 +1010,17 @@
 <TGConnectingPoint num="10" id="395" />
 <TGConnectingPoint num="11" id="396" />
 <extraparam>
-<info description="blah blah blah" root="false" />
+<info equation="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1402" id="410" >
+<SUBCOMPONENT type="1401" id="410" >
 <father id="565" num="13" />
-<cdparam x="550" y="1233" />
-<sizeparam width="187" height="62" minWidth="100" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="797" y="722" />
+<sizeparam width="152" height="50" minWidth="100" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="819" minY="0" maxY="530" />
-<infoparam name="TGComponent" value="&lt;&lt;OR&gt;&gt;" />
+<enabled value="true" />
+<cdrectangleparam minX="0" maxX="854" minY="0" maxY="939" />
+<infoparam name="TGComponent" value="SendPrivateInformation" />
 <TGConnectingPoint num="0" id="398" />
 <TGConnectingPoint num="1" id="399" />
 <TGConnectingPoint num="2" id="400" />
@@ -1033,17 +1034,17 @@
 <TGConnectingPoint num="10" id="408" />
 <TGConnectingPoint num="11" id="409" />
 <extraparam>
-<info equation="" />
+<info description="blah blah blah" root="false" />
 </extraparam>
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1401" id="423" >
 <father id="565" num="14" />
-<cdparam x="236" y="1291" />
-<sizeparam width="148" height="50" minWidth="100" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="898" y="891" />
+<sizeparam width="157" height="50" minWidth="100" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <enabled value="true" />
-<cdrectangleparam minX="0" maxX="858" minY="0" maxY="939" />
-<infoparam name="TGComponent" value="MonitorDeviceWakeUp" />
+<cdrectangleparam minX="0" maxX="849" minY="0" maxY="939" />
+<infoparam name="TGComponent" value="SpiesIncomingMessages" />
 <TGConnectingPoint num="0" id="411" />
 <TGConnectingPoint num="1" id="412" />
 <TGConnectingPoint num="2" id="413" />
@@ -1062,12 +1063,12 @@
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1401" id="436" >
 <father id="565" num="15" />
-<cdparam x="424" y="1410" />
-<sizeparam width="132" height="50" minWidth="100" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="714" y="885" />
+<sizeparam width="125" height="50" minWidth="100" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <enabled value="true" />
-<cdrectangleparam minX="0" maxX="874" minY="0" maxY="939" />
-<infoparam name="TGComponent" value="MonitorBatteryLevel" />
+<cdrectangleparam minX="0" maxX="881" minY="0" maxY="939" />
+<infoparam name="TGComponent" value="ManageIntent" />
 <TGConnectingPoint num="0" id="424" />
 <TGConnectingPoint num="1" id="425" />
 <TGConnectingPoint num="2" id="426" />
@@ -1084,14 +1085,13 @@
 <info description="blah blah blah" root="false" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1401" id="449" >
+<SUBCOMPONENT type="1402" id="449" >
 <father id="565" num="16" />
-<cdparam x="578" y="1412" />
-<sizeparam width="135" height="50" minWidth="100" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="683" y="969" />
+<sizeparam width="187" height="62" minWidth="100" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<enabled value="true" />
-<cdrectangleparam minX="0" maxX="871" minY="0" maxY="939" />
-<infoparam name="TGComponent" value="MonitorTimeChange" />
+<cdrectangleparam minX="0" maxX="687" minY="0" maxY="355" />
+<infoparam name="TGComponent" value="&lt;&lt;AFTER&gt;&gt;" />
 <TGConnectingPoint num="0" id="437" />
 <TGConnectingPoint num="1" id="438" />
 <TGConnectingPoint num="2" id="439" />
@@ -1105,17 +1105,17 @@
 <TGConnectingPoint num="10" id="447" />
 <TGConnectingPoint num="11" id="448" />
 <extraparam>
-<info description="blah blah blah" root="false" />
+<info equation="1" />
 </extraparam>
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1401" id="462" >
 <father id="565" num="17" />
-<cdparam x="744" y="1413" />
-<sizeparam width="163" height="50" minWidth="100" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="858" y="1053" />
+<sizeparam width="125" height="50" minWidth="100" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <enabled value="true" />
-<cdrectangleparam minX="0" maxX="843" minY="0" maxY="939" />
-<infoparam name="TGComponent" value="MonitorWallPaperChange" />
+<cdrectangleparam minX="0" maxX="881" minY="0" maxY="939" />
+<infoparam name="TGComponent" value="BroadcastIntent" />
 <TGConnectingPoint num="0" id="450" />
 <TGConnectingPoint num="1" id="451" />
 <TGConnectingPoint num="2" id="452" />
@@ -1134,12 +1134,12 @@
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1401" id="475" >
 <father id="565" num="18" />
-<cdparam x="940" y="1415" />
-<sizeparam width="188" height="50" minWidth="100" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="603" y="1052" />
+<sizeparam width="125" height="50" minWidth="100" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <enabled value="true" />
-<cdrectangleparam minX="0" maxX="818" minY="0" maxY="939" />
-<infoparam name="TGComponent" value="MonitorApplicationInstallation" />
+<cdrectangleparam minX="0" maxX="881" minY="0" maxY="939" />
+<infoparam name="TGComponent" value="GatherIntent" />
 <TGConnectingPoint num="0" id="463" />
 <TGConnectingPoint num="1" id="464" />
 <TGConnectingPoint num="2" id="465" />
@@ -1158,12 +1158,12 @@
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1401" id="488" >
 <father id="565" num="19" />
-<cdparam x="254" y="1373" />
-<sizeparam width="125" height="50" minWidth="100" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="545" y="898" />
+<sizeparam width="125" height="48" minWidth="100" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <enabled value="true" />
-<cdrectangleparam minX="0" maxX="881" minY="0" maxY="939" />
-<infoparam name="TGComponent" value="MonitorScreenOn" />
+<cdrectangleparam minX="0" maxX="881" minY="0" maxY="941" />
+<infoparam name="TGComponent" value="RegisterThePhone" />
 <TGConnectingPoint num="0" id="476" />
 <TGConnectingPoint num="1" id="477" />
 <TGConnectingPoint num="2" id="478" />
@@ -1182,12 +1182,12 @@
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1401" id="501" >
 <father id="565" num="20" />
-<cdparam x="248" y="1510" />
-<sizeparam width="217" height="50" minWidth="100" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="200" y="845" />
+<sizeparam width="207" height="48" minWidth="100" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <enabled value="true" />
-<cdrectangleparam minX="0" maxX="789" minY="0" maxY="939" />
-<infoparam name="TGComponent" value="MonitorNetworkConnectionChange" />
+<cdrectangleparam minX="0" maxX="799" minY="0" maxY="941" />
+<infoparam name="TGComponent" value="OpenSpamWithMaliciousPackage" />
 <TGConnectingPoint num="0" id="489" />
 <TGConnectingPoint num="1" id="490" />
 <TGConnectingPoint num="2" id="491" />
@@ -1206,12 +1206,12 @@
 </SUBCOMPONENT>
 <SUBCOMPONENT type="1401" id="514" >
 <father id="565" num="21" />
-<cdparam x="775" y="1525" />
-<sizeparam width="201" height="50" minWidth="100" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="426" y="758" />
+<sizeparam width="169" height="48" minWidth="100" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
 <enabled value="true" />
-<cdrectangleparam minX="0" maxX="805" minY="0" maxY="939" />
-<infoparam name="TGComponent" value="MonitorFailureInDataConnection" />
+<cdrectangleparam minX="0" maxX="837" minY="0" maxY="941" />
+<infoparam name="TGComponent" value="InstallMaliciousApplication" />
 <TGConnectingPoint num="0" id="502" />
 <TGConnectingPoint num="1" id="503" />
 <TGConnectingPoint num="2" id="504" />
@@ -1228,14 +1228,13 @@
 <info description="blah blah blah" root="false" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1401" id="527" >
+<SUBCOMPONENT type="1402" id="527" >
 <father id="565" num="22" />
-<cdparam x="403" y="1149" />
-<sizeparam width="125" height="50" minWidth="100" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="225" y="758" />
+<sizeparam width="156" height="48" minWidth="100" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<enabled value="true" />
-<cdrectangleparam minX="0" maxX="881" minY="0" maxY="939" />
-<infoparam name="TGComponent" value="MonitorIntent" />
+<cdrectangleparam minX="0" maxX="125" minY="0" maxY="368" />
+<infoparam name="TGComponent" value="&lt;&lt;SEQUENCE&gt;&gt;" />
 <TGConnectingPoint num="0" id="515" />
 <TGConnectingPoint num="1" id="516" />
 <TGConnectingPoint num="2" id="517" />
@@ -1249,16 +1248,17 @@
 <TGConnectingPoint num="10" id="525" />
 <TGConnectingPoint num="11" id="526" />
 <extraparam>
-<info description="blah blah blah" root="false" />
+<info equation="" />
 </extraparam>
 </SUBCOMPONENT>
-<SUBCOMPONENT type="1402" id="540" >
+<SUBCOMPONENT type="1401" id="540" >
 <father id="565" num="23" />
-<cdparam x="372" y="1046" />
-<sizeparam width="187" height="62" minWidth="100" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
+<cdparam x="555" y="1161" />
+<sizeparam width="177" height="50" minWidth="100" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="0" maxX="819" minY="0" maxY="1043" />
-<infoparam name="TGComponent" value="&lt;&lt;SEQUENCE&gt;&gt;" />
+<enabled value="true" />
+<cdrectangleparam minX="0" maxX="829" minY="0" maxY="939" />
+<infoparam name="TGComponent" value="RestartMaliciousApplication" />
 <TGConnectingPoint num="0" id="528" />
 <TGConnectingPoint num="1" id="529" />
 <TGConnectingPoint num="2" id="530" />
@@ -1272,7 +1272,7 @@
 <TGConnectingPoint num="10" id="538" />
 <TGConnectingPoint num="11" id="539" />
 <extraparam>
-<info equation="" />
+<info description="blah blah blah" root="true" />
 </extraparam>
 </SUBCOMPONENT>
 
@@ -1280,7 +1280,7 @@
 <cdparam x="148" y="612" />
 <sizeparam width="1079" height="1092" minWidth="5" minHeight="2" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" />
 <hidden value="false" />
-<cdrectangleparam minX="10" maxX="1900" minY="10" maxY="1900" />
+<cdrectangleparam minX="12" maxX="2376" minY="12" maxY="2376" />
 <infoparam name="Block9" value="AttackedSystem" />
 <TGConnectingPoint num="0" id="579" />
 <TGConnectingPoint num="1" id="580" />
diff --git a/src/myutil/GoogleSearch.java b/src/myutil/GoogleSearch.java
index a04a2192e9..acb74fc0f8 100644
--- a/src/myutil/GoogleSearch.java
+++ b/src/myutil/GoogleSearch.java
@@ -1,48 +1,48 @@
 /**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,
-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.
-
-/**
- * GoogleSearch
- * crawling from google and google Scholar with keywords
- * Creation: 11/03/2015
- * @version 1.0 11/03/2015
- * @author Huy TRUONG
- * @see
- */
+   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,
+   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.
+
+   /**
+   * GoogleSearch
+   * crawling from google and google Scholar with keywords
+   * Creation: 11/03/2015
+   * @version 1.0 11/03/2015
+   * @author Huy TRUONG
+   * @see
+   */
 package myutil;
 
 
@@ -60,251 +60,251 @@ import org.jsoup.nodes.Document;
 import myutil.TraceManager;
 
 public class GoogleSearch {
-	
-	public static final String charset = "UTF-8";
-	public static final String userAgent = "Eurecom";
-	public static final String google = "http://www.google.com/search?hl=en";
-	public static final String googleScholar="http://scholar.google.com/scholar?ht=en";
-	
-	public static final String ENCODING_ERROR = "encodeding_error";
-	public static final String IOEx = "IOExeption";
-	
-	public static final ArrayList<GoogleSearch> getGoogleResult(String search,String num) {
-		ArrayList<GoogleSearch> r = new ArrayList<GoogleSearch>();
-		
-		String title="" ;
-		String url ="" ;
-		String desc="";
-		GoogleSearch gs;
-
-
-		try{
-			String keyword  = "&q=" + URLEncoder.encode(search, charset);
-			String number = "&num=" + URLEncoder.encode(num, charset);
-			String googleurl = google + number + keyword;
-
-		Document doc = Jsoup.connect(googleurl).userAgent(userAgent).get();
-		
-		//get list of search result, each result begin with tag <li class="g">
-		Elements articles = doc.select("li.g");
-
-		if (articles.size()!=0){
-			for (Element l : articles){
-				gs = new GoogleSearch();
-				
-				//convert an article to a html in order to using parser again.
-				String htmlArticle = l.toString();
-				Document docArticle = Jsoup.parse(htmlArticle,charset);
-				
-				//get first tag <a href=....>
-				
-				Elements ahrefElement = docArticle.select("a");
-				if (ahrefElement.size()!=0){
-					//get value of tag.
-					title = ahrefElement.first().text();
-					//get value of attribute href
-					url= ahrefElement.first().attr("href");
-					//string in href has form "/url?q=http://www.... --> remove prefix.  
-					url = URLDecoder.decode(url.substring(url.indexOf('=') + 1, url.indexOf('&')), "UTF-8");
-				}
-          
-				 
-				//get description begin with tag <span class="st">
-				Elements descelement = docArticle.select("span.st");
-				if (descelement.size()!=0)
-					desc = descelement.first().text();
-				
-				//TraceManager.addDev("Title: --> "+title);
-				//TraceManager.addDev("url: --> "+url);
-				//TraceManager.addDev("Decription: --> "+desc);
-				
-				 gs.setTitle(title);
-				 gs.setUrl(url);
-				 gs.setDesc(desc);
-
-				 r.add(gs);
-			}
-		}
-		return r;
-		}catch (NullPointerException e) {
-			return null;
-		}catch (UnsupportedEncodingException e){
-			gs = new GoogleSearch();
-			gs.setTitle(ENCODING_ERROR);
-			r.add(gs);
-			return r;
-		}catch (IOException e){
-			gs = new GoogleSearch();
-			gs.setTitle(IOEx);
-			r.add(gs);
-			return r;
-		}
-	}
-	
-	
-	public static final ArrayList<GoogleSearch> getGoogleScholarResult(String search,String num){
-		ArrayList<GoogleSearch> r = new ArrayList<GoogleSearch>();
-		String title="";
-		String url="";
-		String desc="";
-		String authors="";
-		String citedNumber="";
-		String citedLinks="";
-		String related="";
-        
-		GoogleSearch gs;
-		try{
-			String keyword  = "&q=" + URLEncoder.encode(search, charset);
-			String number = "&num=" + URLEncoder.encode(num, charset);
-			String googleScholarurl = googleScholar + number + keyword;
-			Document doc = Jsoup.connect(googleScholarurl).userAgent(userAgent).get();
-
-		//get list of search result, each result begin with tag <li class="g">
-			Element error = doc.select("span.gs_red").first();
-			if (error != null) {
-				if (error.text().contains("Did you mean:")) {
-					String newrequest = "http://scholar.google.com" + doc.select("a.gs_pda").first().attr("href");
-					doc = Jsoup.connect(newrequest).userAgent(userAgent).get();
-				}
-			}
-		
-			Elements articles = doc.select("div.gs_ri");
-
-			if(articles.size()!=0){
-			for (Element l : articles){
-				gs = new GoogleSearch();
-	//			
-				//convert an article to a html in order to using parser again.
-				String htmlArticle = l.toString();
-			
-				Document docArticle = Jsoup.parse(htmlArticle,charset);
-	//			
-	//			//get first tag <a href=....>
-				
-				Elements ahrefElement = docArticle.select("h3.gs_rt > a");
-				if (ahrefElement.size()!=0){
-					 title= ahrefElement.first().text();
-					//get value of attribute href
-					 url = ahrefElement.attr("href"); 
-				}
-			
-	
-				Elements descElement = docArticle.select("div.gs_rs");
-				if (descElement.size()!=0){
-					desc = descElement.first().text();
-				}
-	           
-				
-	            Elements authorElement = docArticle.select("div.gs_a");
-	            if (authorElement.size()!=0)
-	            	authors = authorElement.first().text();
-	            
-	          
-	            Elements inforElements = docArticle.select("div.gs_fl > a ");
-	            if(inforElements.size()!=0)
-	            {
-	            	for (Element a : inforElements){
-	                	String href = a.attr("href");
-	                	if (href.contains("cites")){
-	                		 citedNumber = a.text();
-	                		 citedLinks = "http://scholar.google.com" +href;
-	                	}
-	                	if (href.contains("related")){
-	                		related = "http://scholar.google.com" +href;
-	                	}
-	                }
-	            }
-	            gs.authors=authors;
-	            gs.title=title;
-	            gs.url=url;
-	            gs.desc=desc;
-	            gs.citedLinks=citedLinks;
-	            gs.citedNumber=citedNumber;
-				
-	            r.add(gs);
-			}
-		}
-		return r;
-		}catch (NullPointerException e) {
-			return null;
-		}catch (UnsupportedEncodingException e){
-			gs = new GoogleSearch();	
-			gs.setTitle(ENCODING_ERROR);
-			r.add(gs);
-			return r;
-		}catch (IOException e){
-			gs = new GoogleSearch();	
-			gs.setTitle(IOEx);
-			r.add(gs);
-			return r;
-		}
-	}
-	
-	
-	private String title;
-	private String url;
-	private String desc;
-	private String authors;
-	private String citedNumber;
-	private String citedLinks;
-	private String related;
-	
-	
-	
-	public GoogleSearch(){
-	}
-
-
-	public String getTitle() {
-		return title;
-	}
-
-
-	public String getUrl() {
-		return url;
-	}
-
-	public String getDesc() {
-		return desc;
-	}
-	public void setTitle(String title) {
-		this.title = title;
-	}
-
-	public void setUrl(String url) {
-		this.url = url;
-	}
-
-	public void setDesc(String desc) {
-		this.desc = desc;
-	}
-	
-	public String getAuthors() {
-		return authors;
-	}
-
-
-	public void setAuthors(String authors) {
-		this.authors = authors;
-	}
-
-
-	public String getCitedNumber() {
-		return citedNumber;
-	}
-
-
-	public void setCitedNumber(String citedNumber) {
-		this.citedNumber = citedNumber;
-	}
-
-
-	public String getCitedLinks() {
-		return citedLinks;
-	}
-
-
-	public void setCitedLinks(String citedLinks) {
-		this.citedLinks = citedLinks;
-	}
+
+    public static final String charset = "UTF-8";
+    public static final String userAgent = "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:5.0) Gecko/20100101 Firefox/5.0";//"Eurecom";
+    public static final String google = "http://www.google.com/search?hl=en";
+    public static final String googleScholar="http://scholar.google.com/scholar?ht=en";
+
+    public static final String ENCODING_ERROR = "encodeding_error";
+    public static final String IOEx = "IOExeption";
+
+    public static final ArrayList<GoogleSearch> getGoogleResult(String search,String num) {
+        ArrayList<GoogleSearch> r = new ArrayList<GoogleSearch>();
+
+        String title="" ;
+        String url ="" ;
+        String desc="";
+        GoogleSearch gs;
+
+
+        try{
+            String keyword  = "&q=" + URLEncoder.encode(search, charset);
+            String number = "&num=" + URLEncoder.encode(num, charset);
+            String googleurl = google + number + keyword;
+
+            Document doc = Jsoup.connect(googleurl).userAgent(userAgent).get();
+
+            //get list of search result, each result begin with tag <li class="g">
+            Elements articles = doc.select("li.g");
+
+            if (articles.size()!=0){
+                for (Element l : articles){
+                    gs = new GoogleSearch();
+
+                    //convert an article to a html in order to using parser again.
+                    String htmlArticle = l.toString();
+                    Document docArticle = Jsoup.parse(htmlArticle,charset);
+
+                    //get first tag <a href=....>
+
+                    Elements ahrefElement = docArticle.select("a");
+                    if (ahrefElement.size()!=0){
+                        //get value of tag.
+                        title = ahrefElement.first().text();
+                        //get value of attribute href
+                        url= ahrefElement.first().attr("href");
+                        //string in href has form "/url?q=http://www.... --> remove prefix.
+                        url = URLDecoder.decode(url.substring(url.indexOf('=') + 1, url.indexOf('&')), "UTF-8");
+                    }
+
+
+                    //get description begin with tag <span class="st">
+                    Elements descelement = docArticle.select("span.st");
+                    if (descelement.size()!=0)
+                        desc = descelement.first().text();
+
+                    //TraceManager.addDev("Title: --> "+title);
+                    //TraceManager.addDev("url: --> "+url);
+                    //TraceManager.addDev("Decription: --> "+desc);
+
+                    gs.setTitle(title);
+                    gs.setUrl(url);
+                    gs.setDesc(desc);
+
+                    r.add(gs);
+                }
+            }
+            return r;
+        }catch (NullPointerException e) {
+            return null;
+        }catch (UnsupportedEncodingException e){
+            gs = new GoogleSearch();
+            gs.setTitle(ENCODING_ERROR);
+            r.add(gs);
+            return r;
+        }catch (IOException e){
+            gs = new GoogleSearch();
+            gs.setTitle(IOEx);
+            r.add(gs);
+            return r;
+        }
+    }
+
+
+    public static final ArrayList<GoogleSearch> getGoogleScholarResult(String search,String num){
+        ArrayList<GoogleSearch> r = new ArrayList<GoogleSearch>();
+        String title="";
+        String url="";
+        String desc="";
+        String authors="";
+        String citedNumber="";
+        String citedLinks="";
+        String related="";
+
+        GoogleSearch gs;
+        try{
+            String keyword  = "&q=" + URLEncoder.encode(search, charset);
+            String number = "&num=" + URLEncoder.encode(num, charset);
+            String googleScholarurl = googleScholar + number + keyword;
+            Document doc = Jsoup.connect(googleScholarurl).userAgent(userAgent).get();
+
+            //get list of search result, each result begin with tag <li class="g">
+            Element error = doc.select("span.gs_red").first();
+            if (error != null) {
+                if (error.text().contains("Did you mean:")) {
+                    String newrequest = "http://scholar.google.com" + doc.select("a.gs_pda").first().attr("href");
+                    doc = Jsoup.connect(newrequest).userAgent(userAgent).get();
+                }
+            }
+
+            Elements articles = doc.select("div.gs_ri");
+
+            if(articles.size()!=0){
+                for (Element l : articles){
+                    gs = new GoogleSearch();
+                    //
+                    //convert an article to a html in order to using parser again.
+                    String htmlArticle = l.toString();
+
+                    Document docArticle = Jsoup.parse(htmlArticle,charset);
+                    //
+                    //                  //get first tag <a href=....>
+
+                    Elements ahrefElement = docArticle.select("h3.gs_rt > a");
+                    if (ahrefElement.size()!=0){
+                        title= ahrefElement.first().text();
+                        //get value of attribute href
+                        url = ahrefElement.attr("href");
+                    }
+
+
+                    Elements descElement = docArticle.select("div.gs_rs");
+                    if (descElement.size()!=0){
+                        desc = descElement.first().text();
+                    }
+
+
+                    Elements authorElement = docArticle.select("div.gs_a");
+                    if (authorElement.size()!=0)
+                        authors = authorElement.first().text();
+
+
+                    Elements inforElements = docArticle.select("div.gs_fl > a ");
+                    if(inforElements.size()!=0)
+                        {
+                            for (Element a : inforElements){
+                                String href = a.attr("href");
+                                if (href.contains("cites")){
+                                    citedNumber = a.text();
+                                    citedLinks = "http://scholar.google.com" +href;
+                                }
+                                if (href.contains("related")){
+                                    related = "http://scholar.google.com" +href;
+                                }
+                            }
+                        }
+                    gs.authors=authors;
+                    gs.title=title;
+                    gs.url=url;
+                    gs.desc=desc;
+                    gs.citedLinks=citedLinks;
+                    gs.citedNumber=citedNumber;
+
+                    r.add(gs);
+                }
+            }
+            return r;
+        }catch (NullPointerException e) {
+            return null;
+        }catch (UnsupportedEncodingException e){
+            gs = new GoogleSearch();
+            gs.setTitle(ENCODING_ERROR);
+            r.add(gs);
+            return r;
+        }catch (IOException e){
+            gs = new GoogleSearch();
+            gs.setTitle(IOEx);
+            r.add(gs);
+            return r;
+        }
+    }
+
+
+    private String title;
+    private String url;
+    private String desc;
+    private String authors;
+    private String citedNumber;
+    private String citedLinks;
+    private String related;
+
+
+
+    public GoogleSearch(){
+    }
+
+
+    public String getTitle() {
+        return title;
+    }
+
+
+    public String getUrl() {
+        return url;
+    }
+
+    public String getDesc() {
+        return desc;
+    }
+    public void setTitle(String title) {
+        this.title = title;
+    }
+
+    public void setUrl(String url) {
+        this.url = url;
+    }
+
+    public void setDesc(String desc) {
+        this.desc = desc;
+    }
+
+    public String getAuthors() {
+        return authors;
+    }
+
+
+    public void setAuthors(String authors) {
+        this.authors = authors;
+    }
+
+
+    public String getCitedNumber() {
+        return citedNumber;
+    }
+
+
+    public void setCitedNumber(String citedNumber) {
+        this.citedNumber = citedNumber;
+    }
+
+
+    public String getCitedLinks() {
+        return citedLinks;
+    }
+
+
+    public void setCitedLinks(String citedLinks) {
+        this.citedLinks = citedLinks;
+    }
 }
diff --git a/src/myutil/externalSearch/Client.java b/src/myutil/externalSearch/Client.java
index 423eeb76da..ff7835aa61 100644
--- a/src/myutil/externalSearch/Client.java
+++ b/src/myutil/externalSearch/Client.java
@@ -1,48 +1,48 @@
 /**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,
- 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.
-
- /**
- * JDialogSearchBox
- * dialog for external search with key words
- * Creation: 11/03/2015
- * @version 1.0 11/03/2015
- * @author Dan VO & Huy TRUONG
- * @see
- */
+   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,
+   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.
+
+   /**
+   * JDialogSearchBox
+   * dialog for external search with key words
+   * Creation: 11/03/2015
+   * @version 1.0 11/03/2015
+   * @author Dan VO & Huy TRUONG
+   * @see
+   */
 package myutil.externalSearch;
 
 import java.io.IOException;
@@ -59,6 +59,8 @@ import org.jsoup.select.Elements;
 import org.jsoup.parser.Parser;
 import org.jsoup.nodes.Document;
 
+import myutil.*;
+
 public class Client {
     public  Object parserAnswerMessage(Message answerMsg) {
         //Analyse the message from the server,
@@ -91,7 +93,7 @@ public class Client {
                 r.setScore(e_score.text());
                 lrecord.add(r);
             }
-        return lrecord;
+            return lrecord;
 
 
         } else if (cmd.equals(Message.RESULT_DETAIL)) {
@@ -151,13 +153,13 @@ public class Client {
             byte[] encoded = (byte[]) answerMsg.getContent().get(0);
             return encoded;
         }  else if (cmd.equals(Message.RESULT_HISTOGRAM)) {
-        // the content are image.
+            // the content are image.
             byte[] encoded = (byte[]) answerMsg.getContent().get(0);
             return encoded;
 
-    } else
+        } else
             //TraceManager.addDev("The command is not supported\n");
-        return null;
+            return null;
     }
 
     /**
@@ -183,22 +185,32 @@ public class Client {
      * @throws IOException
      * @throws ClassNotFoundException
      */
-    public Message send(Message msg, String server, int port) throws IOException, ClassNotFoundException {
-        SSLSocket sslClient = null;
-        //Create a ssl socket.
-        /*SSLSocketFactory sslSocketFactory = (SSLSocketFactory)SSLSocketFactory.getDefault();
-        sslClient = (SSLSocket)sslSocketFactory.createSocket(server,port);
-        sslClient.setEnabledCipherSuites(sslClient.getSupportedCipherSuites());
-        TraceManager.addDev("Client has been created successfully!");
-
-        ObjectOutputStream outputStream = new ObjectOutputStream(sslClient.getOutputStream());
-        ObjectInputStream inputStream = new ObjectInputStream(sslClient.getInputStream());*/
+    public Message send(Message msg, String server, int port, boolean ssl) throws IOException, ClassNotFoundException {
+
+        ObjectOutputStream outputStream;
+        ObjectInputStream inputStream;
+	Socket client = null;
+	SSLSocket sslClient = null;
+
+        if (ssl) {
+            
+            //Create a ssl socket.
+            SSLSocketFactory sslSocketFactory = (SSLSocketFactory)SSLSocketFactory.getDefault();
+            sslClient = (SSLSocket)sslSocketFactory.createSocket(server,port);
+            sslClient.setEnabledCipherSuites(sslClient.getSupportedCipherSuites());
+            TraceManager.addDev("Client has been created successfully!");
+
+            outputStream = new ObjectOutputStream(sslClient.getOutputStream());
+            inputStream = new ObjectInputStream(sslClient.getInputStream());
+        } else {
+            client = new Socket("LocalHost", port);
+            System.out.println("Client has been created successfully!");
+
+            outputStream = new ObjectOutputStream(client.getOutputStream());
+            inputStream = new ObjectInputStream(client.getInputStream());
+        }
 
-	Socket client = new Socket("LocalHost", 1234);
-	System.out.println("Client has been created successfully!");
 
-	ObjectOutputStream outputStream = new ObjectOutputStream(client.getOutputStream());
-	ObjectInputStream inputStream = new ObjectInputStream(client.getInputStream());
 
         outputStream.writeObject(msg);
 
@@ -207,7 +219,12 @@ public class Client {
 
         outputStream.close();
         inputStream.close();
-        sslClient.close();
+	if (ssl) {
+	    sslClient.close();
+	} else {
+	    client.close();
+	}
+        
         return answerMsg;
     }
 
diff --git a/src/ui/window/JDialogSearchBox.java b/src/ui/window/JDialogSearchBox.java
index a7cefc086f..5c4d9fc642 100644
--- a/src/ui/window/JDialogSearchBox.java
+++ b/src/ui/window/JDialogSearchBox.java
@@ -47,6 +47,7 @@
 package ui.window;
 
 import web.crawler.*;
+import myutil.TraceManager;
 
 
 import java.awt.*;
@@ -908,12 +909,14 @@ public class JDialogSearchBox extends javax.swing.JFrame  {
     public Message sendMessage(Message msg) {
         Client cl = new Client();
         try{
-            return cl.send(msg,dbaddress,dbport);
+            return cl.send(msg, dbaddress, dbport, true);
         }catch (IOException e){
+	    TraceManager.addDev("Connection error: " + e.getMessage());
             JOptionPane.showMessageDialog(null, "Cannot connect to server !!!", "Warning",
                                           JOptionPane.WARNING_MESSAGE);
             return null;
         } catch (ClassNotFoundException e) {
+	    TraceManager.addDev("Classe error: " + e.getMessage());
             JOptionPane.showMessageDialog(null, "Cannot parse message!!!", "Warning",
                                           JOptionPane.WARNING_MESSAGE);
             return null;
@@ -1043,21 +1046,26 @@ public class JDialogSearchBox extends javax.swing.JFrame  {
                                                                       , "Retrieving data is failed",
                                                                       JOptionPane.ERROR_MESSAGE);
                                         jLabel_Status.setText("Failed to retrieving data from Google");
-                                    }else if (resultGoogle != null) {
-
-                                        if(resultGoogle.get(0).getTitle() == GoogleSearch.IOEx) {
-                                            JOptionPane.showMessageDialog(null, "Can connect to Google\n " +
-                                                                          "Please check the internet connection","Connection Error",
-                                                                          JOptionPane.ERROR_MESSAGE);
-                                            jLabel_Status.setText("Failed to retrieving data from Google");
-                                        } else {
-                                            putGoogleToTable(resultGoogle);
-                                            showtable(rowsGoogle,modelGoogle,0);
-                                        }
-
+                                    } else if (resultGoogle != null) {
+					if (resultGoogle.size() == 0) {
+					    JOptionPane.showMessageDialog(null, "No result\n " +
+                                                                          "Please check the keywords you have entered","No result",JOptionPane.ERROR_MESSAGE);
+					    jLabel_Status.setText("Google returned no data");
+									  } else {
+						if(resultGoogle.get(0).getTitle() == GoogleSearch.IOEx) {
+						    JOptionPane.showMessageDialog(null, "Can connect to Google\n " +
+										  "Please check the internet connection","Connection Error",
+										  JOptionPane.ERROR_MESSAGE);
+						    jLabel_Status.setText("Failed to retrieving data from Google");
+						} else {
+						    putGoogleToTable(resultGoogle);
+						    showtable(rowsGoogle,modelGoogle,0);
+						}
+					}
+					
                                     }
                                 }
-
+				
                                 if (searchGoogleScholar == 1) {
                                     jLabel_Status.setText("Retrieving data from Google Scholar");
                                     //jLabel_Status.updateUI();
@@ -1069,7 +1077,7 @@ public class JDialogSearchBox extends javax.swing.JFrame  {
                                                                       , "Retrieving data is failed",
                                                                       JOptionPane.ERROR_MESSAGE);
                                         jLabel_Status.setText("Failed to retrieving data from Google Scholar");
-                                    }else if (resultGoogleScholar != null) {
+                                    } else if ((resultGoogleScholar != null) && (resultGoogleScholar.size() > 0)) {
                                         if (resultGoogleScholar.get(0).getTitle() == GoogleSearch.IOEx) {
                                             JOptionPane.showMessageDialog(null, "Can't connect to Google Scholar\n " +
                                                                           "Please check the internet connection","Connection Error",
diff --git a/src/web/crawler/FileManagement.java b/src/web/crawler/FileManagement.java
index bd25681828..3cbb07a902 100644
--- a/src/web/crawler/FileManagement.java
+++ b/src/web/crawler/FileManagement.java
@@ -313,7 +313,7 @@ public class FileManagement {
 
             downloadFile(filename, destinationPath);
             System.out.println("Extracting data from file: " + filename);
-            File fXmlFile = new File(filename);
+            File fXmlFile = new File(destinationPath + filename);
             DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
             DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
             Document doc = (Document) dBuilder.parse(fXmlFile);
@@ -490,6 +490,7 @@ public class FileManagement {
             System.out.println();
             database.setTotalRecordsInDatabase(database.getTotalRecordsInDatabase() + list_id.size());
         } catch (ParserConfigurationException | SAXException | IOException | DOMException | SQLException | NumberFormatException e) {
+	    System.out.println("Exception during the parsing of a CVE file: " + e.getMessage());
         }
     }
 
diff --git a/src/web/crawler/ThreadSocket.java b/src/web/crawler/ThreadSocket.java
index 3cd6520fe0..aec3944e25 100644
--- a/src/web/crawler/ThreadSocket.java
+++ b/src/web/crawler/ThreadSocket.java
@@ -47,6 +47,8 @@
 
 package web.crawler;
 
+import myutil.externalSearch.*;
+
 import java.awt.AWTException;
 import java.net.Socket;
 import java.io.*;
diff --git a/src/web/crawler/WebCrawler.java b/src/web/crawler/WebCrawler.java
index 33f3427ec1..b0d48446fd 100644
--- a/src/web/crawler/WebCrawler.java
+++ b/src/web/crawler/WebCrawler.java
@@ -228,9 +228,9 @@ public class WebCrawler {
         try {
         //    ServerSocket server = new ServerSocket(1234);
 		SSLServerSocketFactory factory = (SSLServerSocketFactory) SSLServerSocketFactory.getDefault();
-                sslServerSocket = (SSLServerSocket) factory.createServerSocket(12345);
+                sslServerSocket = (SSLServerSocket) factory.createServerSocket(PORT);
 
-            System.out.println("Server has been created successfully\n");
+            System.out.println("Server has been created successfully on port " + PORT + "\n");
 
             while (true) { //Allow a client to connect
                 //Use multithread
-- 
GitLab